原問題:擁有最多糖果的孩子
給你乙個陣列 candies 和乙個整數 extracandies ,其中 candies[i] 代表第 i 個孩子擁有的糖果數目。對每乙個孩子,檢查是否存在一種方案,將額外的 extracandies 個糖果分配給孩子們之後,此孩子有 最多 的糖果。注意,允許有多個孩子同時擁有 最多 的糖果數目。
示例 1:
輸入:candies = [2,3,5,1,3], extracandies = 3
輸出:[true,true,true,false,true]
解釋:孩子 1 有 2 個糖果,如果他得到所有額外的糖果(3個),那麼他總共有 5 個糖果,他將成為擁有最多糖果的孩子。
孩子 2 有 3 個糖果,如果他得到至少 2 個額外糖果,那麼他將成為擁有最多糖果的孩子。
孩子 3 有 5 個糖果,他已經是擁有最多糖果的孩子。
孩子 4 有 1 個糖果,即使他得到所有額外的糖果,他也只有 4 個糖果,無法成為擁有糖果最多的孩子。
孩子 5 有 3 個糖果,如果他得到至少 2 個額外糖果,那麼他將成為擁有最多糖果的孩子。
示例 2:
輸入:candies = [4,2,1,1,2], extracandies = 1
輸出:[true,false,false,false,false]
解釋:只有 1 個額外糖果,所以不管額外糖果給誰,只有孩子 1 可以成為擁有糖果最多的孩子。
示例 3:
輸入:candies = [12,1,12], extracandies = 10
輸出:[true,false,true]
思路:1.首先通過if比較找出最大值
2.再通過for迴圈判斷來決定是否滿足條件,並將true,false情況加入容器之中
3.返回容器
問題:1.vecotor容器使用前需要初始化才能使用,否則會報錯
2.直接用cout輸出bool 容器,只能輸出1和0。
解決:1.用vector容器初始化函式,vectora(t,0)初始化成有t個0數值。
2.用cout<**:
#include
#include
using
namespace std;
vector<
bool
>
kidswithcandies
(vector<
int>
& candies,
int extracandies)
}for
(int i =
0; i < t; i++
)else
}return b;
}int
main()
; vector<
bool
>bo(
5,0)
;int t = a.
size()
;int extracandies=3;
bo =
kidswithcandies
(a, extracandies)
;for
(int i =
0; i < t; i++
)}
參考了
練習題8(回文數)
C語言練習題 9
1 1 分析程式,寫出輸出結果?char ptr if ptr char malloc 0 null puts got a null pointer else puts got a valid pointer 會輸出got a valid pointer。原因 malloc 0 會返回乙個特別的可以...
python練習題9 類
1.自定義乙個 fruit 類 該類有乙個 類屬性 identify,有兩個物件屬性 name,price,乙個類方法 get identify,乙個物件方法 get total price num 列印 s個 s值 s錢 乙個靜態方法 packing fruits class fruit iden...
《C primerplus》第9章練習題
1.未使用原書例題 練習多檔案組織。在乙個標頭檔案中定義一種學生的結構體,儲存姓名和年齡,宣告三個函式分別用於詢問有多少個學生,輸入學生的資訊和展示學生的資訊。在另乙個原始檔中給出所有函式的定義。在主程式中使用new初始化結構指標,呼叫三個函式。main.cpp include include ex...