有n個小孩站成一列。每個小孩有乙個評級。按照以下要求,給小孩分糖果:
1、 每個小孩至少得到一顆糖果。
2、 評級越高的小孩可以比他相鄰的兩個小孩得到更多的糖果。
寫乙個函式計算需最少準備多少糖果?
格式:輸入第一行依次輸入代表小孩評級的陣列,最後依次需要準備最少的糖果的數量。
樣例輸入
[1, 2]
[1, 1, 1]
[1, 2, 2]
[3, 4, 2, 1, 1]
樣例輸出
思路:先全部置1,然後從左到右遍歷,當前級別比左邊大,當前值就賦值為左邊值+1。再從右到左遍歷,比右邊級別大,當前值就為max(當前值,右邊值+1)。
ios**示例:
-(nsinteger)centcandy:(nsstring *)inputstr
values[0] = [nsnumber
numberwithint:1];
for (nsinteger index =1; index < strs.count; index ++)
}for (nsinteger index = strs.count -2; index >= 0; index --) }}
nsinteger count = 0;
for(nsnumber *numberin values)
nslog
(@"count = %ld", count);
return count;
}
藍橋杯 分糖果(水題)
歷屆試題 分糖果 時間限制 1.0s 記憶體限制 256.0mb 問題描述 有n個小朋友圍坐成一圈。老師給每個小朋友隨機發偶數個糖果,然後進行下面的遊戲 每個小朋友都把自己的糖果分一半給左手邊的孩子。一輪分糖後,擁有奇數顆糖的孩子由老師補給1個糖果,從而變成偶數。反覆進行這個遊戲,直到所有小朋友的糖...
1103 分糖果 II(簡單題)
題目描述 排排坐,分糖果。我們買了一些糖果 candies,打算把它們分給排好隊的 n num people 個小朋友。給第乙個小朋友 1 顆糖果,第二個小朋友 2 顆,依此類推,直到給最後乙個小朋友 n 顆糖果。然後,我們再回到隊伍的起點,給第乙個小朋友 n 1 顆糖果,第二個小朋友 n 2 顆,...
leetcode第575題 分糖果
給定乙個偶數長度的陣列,其中不同的數字代表著不同種類的糖果,每乙個數字代表乙個糖果。你需要把這些糖果平均分給乙個弟弟和乙個妹妹。返回妹妹可以獲得的最大糖果的種類數。示例 1 輸入 candies 1,1,2,2,3,3 輸出 3 解析 一共有三種種類的糖果,每一種都有兩個。最優分配方案 妹妹獲得 1...