給你乙個陣列 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 可以成為擁有糖果最多的孩子。
今天是6.1兒童節,本人對節日沒有什麼特別的感觸,尤其這種和自己早已沒關係的節日。但是還是希望自己是個白衣飄飄的少年,心懷善良,善待他人,熱愛生活。好了開始寫準備給『兒童』的這個禮物。
思路:非常簡單,但是還是要寫思路。找出陣列中最大的數字,這就是某個孩子擁有的最多糖果數,如果糖果+額外的糖果數大於等於那就是true,否則就是fasle。宣告乙個陣列存放結果,遍歷一遍陣列。所以時間複雜度和空間複雜度都是o(n)。
class solution:
def kidswithcandies(self, candies: list[int], extracandies: int) -> list[bool]:
# max = max(candies)
# res =
# for i in candies:
# if i+extracandies>=max:
# else:
# return res
#python簡單寫法
return [i+extracandies>=max(candies) for i in candies]
總結:6.1快樂,明天會更好。 Leetcode 1431 擁有最多糖果的孩子
你乙個陣列 candies 和乙個整數 extracandies 其中 candies i 代表第 i 個孩子擁有的糖果數目。對每乙個孩子,檢查是否存在一種方案,將額外的 extracandies 個糖果分配給孩子們之後,此孩子有 最多 的糖果。注意,允許有多個孩子同時擁有 最多 的糖果數目。示例 ...
leetcode1431 擁有最多糖果的孩子
題目描述 給你乙個陣列 candies 和乙個整數 extracandies 其中 candies i 代表第 i 個孩子擁有的糖果數目。對每乙個孩子,檢查是否存在一種方案,將額外的 extracandies 個糖果分配給孩子們之後,此孩子有 最多 的糖果。注意,允許有多個孩子同時擁有 最多 的糖果...
LeetCode 1431 擁有最多糖果的孩子
題目描述 給你乙個陣列 candies 和乙個整數 extracandies 其中 candies i 代表第 i 個孩子擁有的糖果數目。對每乙個孩子,檢查是否存在一種方案,將額外的 extracandies 個糖果分配給孩子們之後,此孩子有 最多 的糖果。注意,允許有多個孩子同時擁有 最多 的糖果...