标签:程序员 老师 个数 一个 多少 指南 相同 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)
题目来源:左程云老师《程序员代码面试指南》
标签:程序员 老师 个数 一个 多少 指南 相同 str bsp
原文地址:https://www.cnblogs.com/latup/p/10204703.html