假設你是一位很棒的家長,想要給你的孩子們一些小餅乾。但是,每個孩子最多只能給一塊餅乾。對每個孩子 i ,都有乙個胃口值 gi ,這是能讓孩子們滿足胃口的餅乾的最小尺寸;並且每塊餅乾 j ,都有乙個尺寸 sj 。如果 sj >= gi ,我們可以將這個餅乾 j 分配給孩子 i ,這個孩子會得到滿足。你的目標是盡可能滿足越多數量的孩子,並輸出這個最大數值。
注意:
你可以假設胃口值為正。
乙個小朋友最多只能擁有一塊餅乾。
示例 1:
輸入:[1
,2,3
],[1
,1]輸出:
1解釋:
你有三個孩子和兩塊小餅乾,3個孩子的胃口值分別是:1,2
,3。雖然你有兩塊小餅乾,由於他們的尺寸都是1,你只能讓胃口值是1的孩子滿足。
所以你應該輸出1。
示例 2:
輸入:[1
,2],
[1,2
,3]輸出:
2解釋:
你有兩個孩子和三塊小餅乾,2個孩子的胃口值分別是1,2。
你擁有的餅乾數量和尺寸都足以讓所有孩子滿足。
所以你應該輸出2.
思想:
貪心問題。優先滿足胃口小的小朋友的需求。
1.對 g 和 s 公升序排序
2.初始化兩個指標 i 和 j 分別指向 g 和 s 初始位置
3.對比 g[i] 和 s[j]
**:
class solution
(object)
: def findcontentchildren
(self, g, s):""
" :type g: list[int]
:type s: list[int]
:rtype: int
""" res =
0 g.
sort()
s.sort()
g_length =
len(g)
s_length =
len(s)
i =0 j =
0 while i < g_length and j < s_length:
if g[i]
<= s[j]
: # 可以滿足胃口,把小餅乾餵給小朋友
res +=
1 i +=
1 j +=
1else
: # 不滿足胃口,檢視下一塊小餅乾
j +=
1return res
習題2 7 彈球距離 15分
設有乙個球從高度為h公尺的地方落下,碰到地面後又彈到高度為原來p倍的位置,然後又落下,再彈起,再落下 請編寫函式求初始高度為h的球下落後到基本停下來 高度小於給定閾值tol 時在空中所經過的路程總和。double dist double h,double p 其中h是球的初始高度,p是球彈起高度與彈...
2 7 素因子分解 20 分
給定某個正整數 n,求其素因子分解結果,即給出其因式分解表示式 輸入格式 輸入long int範圍內的正整數 n。輸出格式 按給定格式輸出n的素因式分解表示式,即 輸入樣例 1323輸出樣例 1323 3 3 7 2我的 include using namespace std long int n ...
習題2 7 彈球距離 15分
設有乙個球從高度為h公尺的地方落下,碰到地面後又彈到高度為原來p倍的位置,然後又落下,再彈起,再落下 請編寫函式求初始高度為h的球下落後到基本停下來 高度小於給定閾值tol 時在空中所經過的路程總和。double dist double h,double p 其中h是球的初始高度,p是球彈起高度與彈...