Leetcode talk27分發餅乾

2021-10-04 12:14:39 字數 1471 閱讀 6552

假設你是一位很棒的家長,想要給你的孩子們一些小餅乾。但是,每個孩子最多只能給一塊餅乾。對每個孩子 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是球彈起高度與彈...