題目:135. 分發糖果
老師想給孩子們分發糖果,有 n 個孩子站成了一條直線,老師會根據每個孩子的表現,預先給他們評分。
你需要按照以下要求,幫助老師給這些孩子分發糖果:
每個孩子至少分配到 1 個糖果。
相鄰的孩子中,評分高的孩子必須獲得更多的糖果。
那麼這樣下來,老師至少需要準備多少顆糖果呢?
示例 1:
輸入: [1,0,2]
輸出: 5
解釋: 你可以分別給這三個孩子分發 2、1、2 顆糖果。
示例 2:
輸入: [1,2,2]
輸出: 4
解釋: 你可以分別給這三個孩子分發 1、2、1 顆糖果。
第三個孩子只得到 1 顆糖果,這已滿足上述兩個條件。
演算法
源**
class
solution
intcandy
(vector<
int>
& r)
int candies =0;
//糖的數量
int up =0;
//上公升的同學數
int down =0;
//下降的同學數
int old_slope =0;
//預定義為0
for(
int i =
1; i < n;
++i)
if(new_slope >0)
if(new_slope <0)
if(new_slope ==0)
old_slope = new_slope;
} candies +
=count
(up)
+count
(down)
+max
(up, down)+1
;return candies;}}
;
LeetCode 力扣 135 分發糖果
給 n 個小朋友分糖,每個人至少有一顆糖。並且有乙個rating陣列,如果小朋友的rating比它旁邊小朋友的rating大 不包括等於 那麼他必須要比對應小朋友的糖多。問至少需要分配多少顆糖。用 表示糖,舉幾個例子。102 總共就需要 5 顆糖。12 2 總共就需要 4 顆糖。根據題目,首先每個小...
Leetcode刷題筆記 135 分發糖果
題目 老師想給孩子們分發糖果,有 n 個孩子站成了一條直線,老師會根據每個孩子的表現,預先給他們評分。你需要按照以下要求,幫助老師給這些孩子分發糖果 每個孩子至少分配到 1 個糖果。相鄰的孩子中,評分高的孩子必須獲得更多的糖果。那麼這樣下來,老師至少需要準備多少顆糖果呢?示例 1 輸入 1,0,2 ...
LeetCode刷題 135分發糖果
問題 老師想給孩子們分發糖果,有 n 個孩子站成了一條直線,老師會根據每個孩子的表現,預先給他們評分。你需要按照以下要求,幫助老師給這些孩子分發糖果 每個孩子至少分配到 1 個糖果。相鄰的孩子中,評分高的孩子必須獲得更多的糖果。那麼這樣下來,老師至少需要準備多少顆糖果呢?示例1 輸入 1,0,2 輸...