leetcode第575題 分糖果

2021-10-17 16:11:47 字數 894 閱讀 7414

給定乙個偶數長度的陣列,其中不同的數字代表著不同種類的糖果,每乙個數字代表乙個糖果。你需要把這些糖果平均分給乙個弟弟和乙個妹妹。返回妹妹可以獲得的最大糖果的種類數。

示例 1:

輸入: candies = [1,1,2,2,3,3]

輸出: 3

解析: 一共有三種種類的糖果,每一種都有兩個。

最優分配方案:妹妹獲得[1,2,3],弟弟也獲得[1,2,3]。這樣使妹妹獲得糖果的種類數最多。

示例 2 :

輸入: candies = [1,1,2,3]

輸出: 2

解析: 妹妹獲得糖果[2,3],弟弟獲得糖果[1,1],妹妹有兩種不同的糖果,弟弟只有一種。這樣使得妹妹可以獲得的糖果種類數最多。

將糖果種類的數字值作為 key 儲存在字典中,糖果一旦存在則進行標記,並將糖果種類加一。

class

solution

:def

distributecandies

(self, candies: list[

int])-

>

int:

length =

len(candies)

each = length //

2 type_dict =

dict()

type_cnt =

0for c in candies:

if type_dict.get(c,0)

==0: type_dict[c]=1

type_cnt +=

1if type_cnt >= each:

return each

else

:return type_cnt

Leetcode刷題(Python)575 分糖果

題目描述 給定乙個偶數長度的陣列,其中不同的數字代表著不同種類的糖果,每乙個數字代表乙個糖果。你需要把這些糖果平均分給乙個弟弟和乙個妹妹。返回妹妹可以獲得的最大糖果的種類數。示例 1 輸入 candies 1,1,2,2,3,3 輸出 3 解析 一共有三種種類的糖果,每一種都有兩個。最優分配方案 妹...

LeetCode 575 分糖果(java實現)

給定乙個偶數長度的陣列,其中不同的數字代表著不同種類的糖果,每乙個數字代表乙個糖果。你需要把這些糖果平均分給乙個弟弟和乙個妹妹。返回妹妹可以獲得的最大糖果的種類數。示例 1 輸入 candies 1,1,2,2,3,3 輸出 3 解析 一共有三種種類的糖果,每一種都有兩個。最優分配方案 妹妹獲得 1...

LeetCode練習《七》 分糖

這道題目起名為分糖不知道合適不合適,distribute candies應該是這個意思吧.如下 given an integer array with even length,where different numbers in this array represent different kind...