摘要:重復(fù)上述過(guò)程每次都比上一次多給出一顆糖果,當(dāng)?shù)竭_(dá)隊(duì)伍終點(diǎn)后再次從隊(duì)伍起點(diǎn)開始,直到我們分完所有的糖果。返回一個(gè)長(zhǎng)度為元素之和為的數(shù)組,以表示糖果的最終分發(fā)情況即表示第個(gè)小朋友分到的糖果數(shù)。
前言
Weekly Contest 143的 分糖果 II
解題思路排排坐,分糖果。
我們買了一些糖果 candies,打算把它們分給排好隊(duì)的 n = num_people 個(gè)小朋友。
給第一個(gè)小朋友 1 顆糖果,第二個(gè)小朋友 2 顆,依此類推,直到給最后一個(gè)小朋友 n 顆糖果。
然后,我們?cè)倩氐疥?duì)伍的起點(diǎn),給第一個(gè)小朋友 n + 1 顆糖果,第二個(gè)小朋友 n + 2 顆,依此類推,直到給最后一個(gè)小朋友 2 * n 顆糖果。
重復(fù)上述過(guò)程(每次都比上一次多給出一顆糖果,當(dāng)?shù)竭_(dá)隊(duì)伍終點(diǎn)后再次從隊(duì)伍起點(diǎn)開始),直到我們分完所有的糖果。注意,就算我們手中的剩下糖果數(shù)不夠(不比前一次發(fā)出的糖果多),這些糖果也會(huì)全部發(fā)給當(dāng)前的小朋友。
返回一個(gè)長(zhǎng)度為 num_people、元素之和為 candies 的數(shù)組,以表示糖果的最終分發(fā)情況(即 ans[i] 表示第 i 個(gè)小朋友分到的糖果數(shù))。
示例1:
輸入:candies = 7, num_people = 4 輸出:[1,2,3,1] 解釋: 第一次,ans[0] += 1,數(shù)組變?yōu)?[1,0,0,0]。 第二次,ans[1] += 2,數(shù)組變?yōu)?[1,2,0,0]。 第三次,ans[2] += 3,數(shù)組變?yōu)?[1,2,3,0]。 第四次,ans[3] += 1(因?yàn)榇藭r(shí)只剩下 1 顆糖果),最終數(shù)組變?yōu)?[1,2,3,1]。示例2:
輸入:candies = 10, num_people = 3 輸出:[5,2,3] 解釋: 第一次,ans[0] += 1,數(shù)組變?yōu)?[1,0,0]。 第二次,ans[1] += 2,數(shù)組變?yōu)?[1,2,0]。 第三次,ans[2] += 3,數(shù)組變?yōu)?[1,2,3]。 第四次,ans[0] += 4,最終數(shù)組變?yōu)?[5,2,3]。提示:
1 <= candies <= 10^9
1 <= num_people <= 1000
本題十分簡(jiǎn)單,具體邏輯只要查看實(shí)現(xiàn)代碼及配套注釋即可。
實(shí)現(xiàn)代碼/** * 1104. 分糖果 II * @param candies * @param num_people * @return */ public int[] distributeCandies(int candies, int num_people) { int[] result=new int[num_people]; // 當(dāng)前遍歷的索引 int index=0; // 發(fā)放到個(gè)人的糖果數(shù) int num=1; while (candies>0){ // 給小朋友發(fā)糖果 result[index]+=num; // 剩余糖果數(shù)減少 candies-=num; // 是否發(fā)到隊(duì)伍最后一位小朋友 if(indexnum){ ++num; }else{ num=candies; } } return result; }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/75073.html
摘要:題意給出一串二進(jìn)制數(shù)組,求數(shù)組中最長(zhǎng)的連續(xù)的個(gè)數(shù)思路遍歷數(shù)組判斷,然后將值添加到長(zhǎng)度保存數(shù)組中,取保存數(shù)組最大值。本題要考慮輸入的數(shù)組為的狀況。代碼題意給出一個(gè),從里面獲取兩個(gè)數(shù)。 485 Max Consecutive Ones題意:給出一串二進(jìn)制數(shù)組,求數(shù)組中最長(zhǎng)的連續(xù)1的個(gè)數(shù)思路:遍歷數(shù)組判斷,然后將值添加到長(zhǎng)度保存數(shù)組中,取保存數(shù)組最大值。本題要考慮輸入的數(shù)組為[0],[1]的...
摘要:保證高的小朋友拿到的糖果更多,我們建立一個(gè)分糖果數(shù)組。首先,分析邊界條件如果沒(méi)有小朋友,或者只有一個(gè)小朋友,分別對(duì)應(yīng)沒(méi)有糖果,和有一個(gè)糖果。排排坐,吃果果。先往右,再往左。右邊高,多一個(gè)。總和加上小朋友總數(shù),就是要準(zhǔn)備糖果的總數(shù)啦。 Problem There are N children standing in a line. Each child is assigned a rat...
摘要:貪心法復(fù)雜度時(shí)間空間思路典型的貪心法,如果一個(gè)孩子比另一個(gè)孩子的分高,我們只多給塊糖。我們可以先從左往右遍歷,確保每個(gè)孩子根他左邊的孩子相比,如果分高,則糖要多個(gè),如果分比左邊低,就只給一顆。 Candy There are N children standing in a line. Each child is assigned a rating value. You are gi...
摘要:香港香港配置他們家的目前擁有和傳統(tǒng)硬盤的配置,線路分普通洛杉磯,洛杉磯中美極速專線以及香港三個(gè)線路,香港目前只有固態(tài)硬盤有選擇。香港機(jī)房網(wǎng)絡(luò)測(cè)評(píng)云服務(wù)器網(wǎng)小編測(cè)試了他們香港線路的速度,可以看到的平均響應(yīng)速度,最快的僅。sugarhosts香港vps怎么樣?sugarhosts糖果主機(jī)是2009年成立的一家公司,早前主要業(yè)務(wù)在虛擬主機(jī)這一塊,他們家憑借著不錯(cuò)的性價(jià)比和服務(wù)品質(zhì)從眾多的主機(jī)商中脫...
閱讀 2847·2021-11-22 15:22
閱讀 19015·2021-09-22 15:00
閱讀 1433·2021-09-07 09:58
閱讀 1236·2019-08-30 13:01
閱讀 2408·2019-08-29 16:27
閱讀 2344·2019-08-26 13:25
閱讀 1618·2019-08-26 12:13
閱讀 934·2019-08-26 11:53