日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Lintcode 1230解题思路和c++代码

發布時間:2025/5/22 61 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Lintcode 1230解题思路和c++代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1230. 分餅干

題目:
假設你是一個了不起的家長,準備給你的孩子們一些餅干吃,但是你只能給每個孩子至多一塊餅干。每一塊餅干jj都有一個尺寸s_{j}s?j
;同時每一個孩子ii都有一個貪吃指數g_{i}g?i
,代表了能使他滿足的最小的餅干尺寸。如果s_{j} \geq g_{i}sj
≥g?i
?? ,那么就可以將餅干jj分給孩子ii使他得到滿足。你的目標是使最多的孩子得到滿足,輸出這個最大值。

樣例
樣例1:

輸入:[1,2,3], [1,1]
輸出:1
說明:你有三個孩子和兩塊餅干,三個孩子的貪吃指數分別是1,2,3
雖然你有兩塊餅干,但是因為它們的大小都為1,你只能滿足讓貪吃指數為1的孩子滿足,因此你應該輸出1
樣例2:

輸入:[1,2], [1,2,3]
輸出:2
說明:你有兩個孩子和三塊餅干,兩個孩子的貪吃指數分別是1和2
這三塊餅干的大小足以滿足所有的孩子,因此你應該輸出2
注意事項
貪吃指數總會是一個正整數
你不能將一塊以上的餅干分配給同一個孩子

解題思路:
1.總體的來說這道題并不是很難,但是我卻花了三十多分鐘才完整地做出來,主要是自己本身的問題;
問題①:沒有看清楚題意,一開始并沒有看到一個孩子只能吃一個,一位一個孩子能吃多個,導致了整體思路錯誤;
問題②:s對應的是j,g對應的是i,但是在判斷的時候我卻寫了
s[i]>=g[j],導致了結果一直過不了;
2.接下來講講解題思路:
主要是先把兩個數列排序,然后最小與最小的匹配,如果能夠匹配,那么兩個下標都往下走,如果不能,那么cookie的下標往下走,小孩子的小標不動。最后知道餅干分完或者小孩子沒有了跳出循環。

附上代碼:

int n=g.size(),m=s.size();sort(g.begin(),g.end());sort(s.begin(),s.end());int sum=0,i=0,j=0;while(i<n&&j<m){if(s[j]>=g[i]) {i++;} j++;}return i;

總結

以上是生活随笔為你收集整理的Lintcode 1230解题思路和c++代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。