已知一些孩子和一些糖果,每個孩子有需求因子g,每個糖果有大小s,當某個糖果的大小s大於等於某個孩子的需求因子g時,代表該糖果可以滿足該孩子;求使用這些糖果,最多能滿足多少孩子?(注意,某個孩子最多只能用1個糖果滿足)
例如,需求因子陣列g=[5,10,2,9,15,9];糖果大小s=[6,1,20,3,8];最多可以滿足3個孩子。
為了更明顯的判斷某個孩子能夠被那個糖果滿足,需要對g,s進行排序後觀察。
提出以下三個問題:
①是否直接暴力列舉,嘗試每個糖果是否能滿足某個孩子?
②如果某個孩子可以被多個糖果滿足,應該用哪個?
③如果某個糖果可以滿足多個孩子,應該滿足那個孩子?
其實很簡單思考,既然需要滿足最多的孩子,那麼就需要將每乙個能滿足多個孩子的糖果充分利用,能用更小的糖果滿足孩子,就不需要用更大的糖果滿足,保留更大的糖果去滿足其他需求因子更大的孩子。【貪心思想】
過程如圖所示:
**如下:
#include
#include
#include
class
solution
cookie++;}
return child;}}
;
C 貪心 如何用最少的箭射爆全部氣球
在二維空間中有許多球形的氣球。對於每個氣球,提供的輸入是水平方向上,氣球直徑的開始和結束座標。由於它是水平的,所以y座標並不重要,因此只要知道開始和結束的x座標就足夠了。開始座標總是小於結束座標。平面內最多存在104個氣球。一支弓箭可以沿著x軸從不同點完全垂直地射出。在座標x處射出一支箭,若有乙個氣...
如何用C 實現乙個Whois的查詢
什麼是whois 簡單來說,whois就是乙個用來查詢網域名稱是否已經被註冊,以及註冊網域名稱的詳細資訊的資料庫 如網域名稱所有人 網域名稱註冊商 網域名稱註冊日期和過期日期等 通過whois來實現對網域名稱資訊的查詢 什麼去查詢whois?whois的查詢其實也是蠻簡單的,就是利用socket去連...
如何用C 寫乙個簡單的Login視窗
最近,看到網上經常會問如何進行視窗跳轉,大多數的問題都是牽扯到login視窗。其實,在visual studio 6以來,比較正確的做法,是判斷login視窗的返回值,然後決定是否開啟主窗體,那麼在c 中也是一樣的。具體做法如下 首先,建立login視窗,然後新增相應的輸入框和按鈕,設定視窗的acc...