leetcode 135 分發糖果

2022-06-20 12:39:11 字數 816 閱讀 9250

分發糖果

解題思路:貪心演算法、兩次遍歷

class

solution

int cands = new

int[len];

for(int i=0;i)

for(int i=0;i)

}for(int i=len-1;i>0;i--)

}int sum = 0;

for(int i=0;i)

return

sum;

}}

第二種方法:

解題思路:把所有的情形的分界點分成三類,至於為什麼這樣子分類,是根據該題的具體情形考慮才這樣子分類的。

(下--上)作為分界點

(下--平)作為分界點

(上--平)作為分界點

以上面三種分界點分成很多部分來分別計算每一部分的糖果數。

class

solution

int up=0;

int down=0;

int old_scope = 0;

int new_scope = 0;

int candys = 0;

for(int i=1;i)

if(new_scope==1)

if(new_scope==-1)

if(new_scope==0)

old_scope =new_scope;

}candys+=up*(1+up)/2+down*(1+down)/2+math.max(up,down)+1;

return

candys;

}}

LeetCode 135 分發糖果

老師想給孩子們分發糖果,有 n 個孩子站成了一條直線,老師會根據每個孩子的表現,預先給他們評分。你需要按照以下要求,幫助老師給這些孩子分發糖果 每個孩子至少分配到 1 個糖果。相鄰的孩子中,評分高的孩子必須獲得更多的糖果。那麼這樣下來,老師至少需要準備多少顆糖果呢?示例 1 輸入 1,0,2 輸出 ...

leetcode135 分發糖果

一道很有意思的題目,難度級別為 困難。題目是這樣的的 老師想給孩子們分發糖果,有 n 個孩子站成了一條直線,老師會根據每個孩子的表現,預先給他們評分。你需要按照以下要求,幫助老師給這些孩子分發糖果 每個孩子至少分配到 1 個糖果。相鄰的孩子中,評分高的孩子必須獲得更多的糖果。那麼這樣下來,老師至少需...

leetcode135 分發糖果

老師想給孩子們分發糖果,有 n 個孩子站成了一條直線,老師會根據每個孩子的表現,預先給他們評分。你需要按照以下要求,幫助老師給這些孩子分發糖果 每個孩子至少分配到 1 個糖果。相鄰的孩子中,評分高的孩子必須獲得更多的糖果。那麼這樣下來,老師至少需要準備多少顆糖果呢?示例 1 輸入 1,0,2 輸出 ...