題目描述:
有n個小朋友站在一排,每個小朋友都有乙個評分
你現在要按以下的規則給孩子們分糖果:
每個小朋友至少要分得一顆糖果
分數高的小朋友要他比旁邊得分低的小朋友分得的糖果多
你最少要分發多少顆糖果?
題目分析:
給定陣列每個位置表示乙個排成一排的小朋友,每個位置上是小朋友的評分,返回結果是每個小朋友的糖果數量,要求是最少的糖果數量且相鄰小朋友評分高的比評分低的小朋友分的糖果多。
**分析:
public
class
solution
//定義乙個和先朋友數量大小一致的陣列用來存放糖果的數量,先將陣列中置為1
int[
] count=
newint
[ratings.length]
;for
(int i=
0;i)int min =0;
int max=ratings.length-1;
//從左邊向右邊找,如果後邊元素大那麼其糖果數量是前乙個小朋友糖果數量加1
while
(minmin++;}
//從右邊往左邊找,如果前邊的元素大並且前邊元素的糖果數量少則前邊的元素的糖果數量是後邊糖果數量加1
while
(max>0)
max--;}
int sum=0;
//迴圈將糖果陣列的元素累加並返回
for(
int i=
0;i)return sum;
}}
牛客網刷題 C語言 吃糖果
名名的媽媽從外地出差回來,帶了一盒好吃又精美的巧克力給名名 盒內共有 n 塊巧克力,20 n 0 媽媽告訴名名每天可以吃一塊或者兩塊巧克力。假設名名每天都吃巧克力,問名名共有多少種不同的吃完巧克力的方案。例如 如果n 1,則名名第1天就吃掉它,共有1種方案 如果n 2,則名名可以第1天吃1塊,第2天...
牛客網刷題
時間限制 c c 1秒,其他語言2秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 立華奏在學習初中數學的時候遇到了這樣一道大水題 設箱子內有 n 個球,其中給 m 個球打上標記,設一次摸球摸到每乙個球的概率均等,求一次摸球摸到打標記的球的概率 e...
牛客網刷題
時間限制 c c 2秒,其他語言4秒 空間限制 c c 524288k,其他語言1048576k 64bit io format lld 立華奏是乙個剛剛開始學習 oi 的萌新。最近,實力強大的 qingyu 當選了 iods 9102 的出題人。眾所周知,iods 是一場極其毒瘤的比賽。為了在這次...