LeetCode #575 Distribute Candies 分糖果

575 Distribute Candies 分糖果

Description:
Given an integer array with even length, where different numbers in this array represent different kinds of candies. Each number means one candy of the corresponding kind. You need to distribute these candies equally in number to brother and sister. Return the maximum number of kinds of candies the sister could gain.

Example:

Example 1:
Input: candies = [1,1,2,2,3,3]
Output: 3
Explanation:
There are three different kinds of candies (1, 2 and 3), and two candies for each kind.
Optimal distribution: The sister has candies [1,2,3] and the brother has candies [1,2,3], too.
The sister has three different kinds of candies.

Example 2:
Input: candies = [1,1,2,3]
Output: 2
Explanation: For example, the sister has candies [2,3] and the brother has candies [1,1].
The sister has two different kinds of candies, the brother has only one kind of candies.

Note:

The length of the given array is in range [2, 10,000], and will be even.
The number in given array is in range [-100,000, 100,000].

題目描述:
給定一個(gè)偶數(shù)長(zhǎng)度的數(shù)組,其中不同的數(shù)字代表著不同種類的糖果,每一個(gè)數(shù)字代表一個(gè)糖果县袱。你需要把這些糖果平均分給一個(gè)弟弟和一個(gè)妹妹嫉戚。返回妹妹可以獲得的最大糖果的種類數(shù)洛退。

示例 :

示例 1:

輸入: candies = [1,1,2,2,3,3]
輸出: 3
解析: 一共有三種種類的糖果块蚌,每一種都有兩個(gè)传轰。
最優(yōu)分配方案:妹妹獲得[1,2,3],弟弟也獲得[1,2,3]背传。這樣使妹妹獲得糖果的種類數(shù)最多呆瞻。

示例 2 :

輸入: candies = [1,1,2,3]
輸出: 2
解析: 妹妹獲得糖果[2,3],弟弟獲得糖果[1,1],妹妹有兩種不同的糖果径玖,弟弟只有一種痴脾。這樣使得妹妹可以獲得的糖果種類數(shù)最多。

注意:

數(shù)組的長(zhǎng)度為[2, 10,000]梳星,并且確定為偶數(shù)赞赖。
數(shù)組中數(shù)字的大小在范圍[-100,000, 100,000]內(nèi)滚朵。

思路:

題意可以轉(zhuǎn)化為求數(shù)組中的不同元素的個(gè)數(shù), 轉(zhuǎn)換為 set, 如果不同的元素個(gè)數(shù)大于 size / 2就直接返回 size / 2, 否則返回不同元素的個(gè)數(shù)
時(shí)間復(fù)雜度O(n), 空間復(fù)雜度O(1)

代碼:
C++:

class Solution 
{
public:
    int distributeCandies(vector<int>& candies) 
    {
        bitset<200001> b;
        for (int candy : candies) b.set(candy + 100000);
        return min(b.count(), candies.size() / 2);
    }
};

Java:

class Solution {
    public int distributeCandies(int[] candies) {
        BitSet b = new BitSet(200001);
        for (int candy : candies) b.set(candy + 100000);
        return Math.min(b.cardinality(), candies.length / 2);
    }
}

Python:

class Solution:
    def distributeCandies(self, candies: List[int]) -> int:
        return len(set(candies)) if len(set(candies)) < len(candies) // 2 else len(candies) // 2
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市前域,隨后出現(xiàn)的幾起案子辕近,更是在濱河造成了極大的恐慌,老刑警劉巖匿垄,帶你破解...
    沈念sama閱讀 219,366評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件移宅,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡椿疗,警方通過查閱死者的電腦和手機(jī)漏峰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來届榄,“玉大人浅乔,你說我怎么就攤上這事⊙髋睿” “怎么了童擎?”我有些...
    開封第一講書人閱讀 165,689評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)攻晒。 經(jīng)常有香客問我顾复,道長(zhǎng),這世上最難降的妖魔是什么鲁捏? 我笑而不...
    開封第一講書人閱讀 58,925評(píng)論 1 295
  • 正文 為了忘掉前任芯砸,我火速辦了婚禮,結(jié)果婚禮上给梅,老公的妹妹穿的比我還像新娘假丧。我一直安慰自己,他們只是感情好动羽,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,942評(píng)論 6 392
  • 文/花漫 我一把揭開白布包帚。 她就那樣靜靜地躺著,像睡著了一般运吓。 火紅的嫁衣襯著肌膚如雪渴邦。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,727評(píng)論 1 305
  • 那天拘哨,我揣著相機(jī)與錄音谋梭,去河邊找鬼。 笑死倦青,一個(gè)胖子當(dāng)著我的面吹牛瓮床,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,447評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼隘庄,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼踢步!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起峭沦,我...
    開封第一講書人閱讀 39,349評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤贾虽,失蹤者是張志新(化名)和其女友劉穎逃糟,沒想到半個(gè)月后吼鱼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,820評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡绰咽,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,990評(píng)論 3 337
  • 正文 我和宋清朗相戀三年菇肃,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片取募。...
    茶點(diǎn)故事閱讀 40,127評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡琐谤,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出玩敏,到底是詐尸還是另有隱情斗忌,我是刑警寧澤,帶...
    沈念sama閱讀 35,812評(píng)論 5 346
  • 正文 年R本政府宣布旺聚,位于F島的核電站织阳,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏砰粹。R本人自食惡果不足惜唧躲,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,471評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望碱璃。 院中可真熱鬧弄痹,春花似錦、人聲如沸嵌器。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,017評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽爽航。三九已至蚓让,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間岳掐,已是汗流浹背凭疮。 一陣腳步聲響...
    開封第一講書人閱讀 33,142評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留串述,地道東北人执解。 一個(gè)月前我還...
    沈念sama閱讀 48,388評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親衰腌。 傳聞我的和親對(duì)象是個(gè)殘疾皇子新蟆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,066評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容