码迷,mamicode.com
首页 > 其他好文 > 详细

9.22 分糖果问题

时间:2019-01-01 14:56:46      阅读:294      评论:0      收藏:0      [点我收藏+]

标签:程序员   老师   个数   一个   多少   指南   相同   str   bsp   

题目】:

  一群孩子做游戏,现在请你根据游戏得分来发糖果,要求如下:

  1、每个孩子不管得分多少,起码分到1个糖果

  2、任意两个相邻的孩子之间,得分较多的孩子必须拿多一些的糖果

  给定一个数组arr代表得分数组,请返回最少需要多少糖果

  例如:

    arr=[1, 2, 2],糖果分配为[1, 2, 1],即可满足要求且数量最少,所以返回4

  

进阶题目】:

  原题目中的两个规则不变,再加一条规则:

  3、任意两个相邻的孩子之间如果得分一样,糖果数必须相同

  给定一个数组arr代表得分数组,返回最少需要多少糖果

  例如:

    arr=[1, 2, 2],糖果分配为[1, 2, 2],即可满足要求且数量最少,所以返回5

 

要求】:

  arr长度为N,原题与进阶题都要求时间复杂度为O(N),额外空间复杂度为O(1)

 

题目来源:左程云老师《程序员代码面试指南》

9.22 分糖果问题

标签:程序员   老师   个数   一个   多少   指南   相同   str   bsp   

原文地址:https://www.cnblogs.com/latup/p/10204703.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!