演算法題 分糖果

2021-08-11 04:50:37 字數 763 閱讀 5551

有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...