《Leetcode》1431 擁有最多糖果的孩子

2021-10-06 17:32:47 字數 1394 閱讀 7973

給你乙個陣列 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 個糖果分配給孩子們之後,此孩子有 最多 的糖果。注意,允許有多個孩子同時擁有 最多 的糖果...