思路:先建立乙個和給定陣列相同大小的一維陣列,用來統計每個人的糖果數,由於每個人至少乙個,所以將所有值初始化為1.
然後分兩次遍歷陣列。第一次從左向右遍歷,當右邊孩子的表現分數大於當前孩子時,右邊孩子的糖果數為當前孩子糖果數加一。
第二次從右向左遍歷陣列,遇到左邊的孩子的表現分數大於當前的孩子時,並且此時左邊孩子的糖果數小於等於當前的孩子時,左邊孩子的糖果數為當前孩子的糖果數加一。也就是說:左邊孩子的糖果數,為之前左邊孩子的糖果數和當前孩子糖果數加一后,兩者中的較大值。
class solution
for (int i = n - 1; i >= 0; --i)
return ans;
}};
LeetCode 135 分發糖果
老師想給孩子們分發糖果,有 n 個孩子站成了一條直線,老師會根據每個孩子的表現,預先給他們評分。你需要按照以下要求,幫助老師給這些孩子分發糖果 每個孩子至少分配到 1 個糖果。相鄰的孩子中,評分高的孩子必須獲得更多的糖果。那麼這樣下來,老師至少需要準備多少顆糖果呢?示例 1 輸入 1,0,2 輸出 ...
leetcode135 分發糖果
一道很有意思的題目,難度級別為 困難。題目是這樣的的 老師想給孩子們分發糖果,有 n 個孩子站成了一條直線,老師會根據每個孩子的表現,預先給他們評分。你需要按照以下要求,幫助老師給這些孩子分發糖果 每個孩子至少分配到 1 個糖果。相鄰的孩子中,評分高的孩子必須獲得更多的糖果。那麼這樣下來,老師至少需...
leetcode135 分發糖果
老師想給孩子們分發糖果,有 n 個孩子站成了一條直線,老師會根據每個孩子的表現,預先給他們評分。你需要按照以下要求,幫助老師給這些孩子分發糖果 每個孩子至少分配到 1 個糖果。相鄰的孩子中,評分高的孩子必須獲得更多的糖果。那麼這樣下來,老師至少需要準備多少顆糖果呢?示例 1 輸入 1,0,2 輸出 ...