Leetcode 781 森林中的兔子 C

2021-10-08 19:45:38 字數 801 閱讀 8403

森林中,每個兔子都有顏色。其中一些兔子(可能是全部)告訴你還有多少其他的兔子和自己有相同的顏色。我們將這些回答放在 answers 陣列裡。

返回森林中兔子的最少數量。

輸入: answers = [1, 1, 2]

輸出: 5

解釋:兩隻回答了 "1" 的兔子可能有相同的顏色,設為紅色。

之後回答了 "2" 的兔子不會是紅色,否則他們的回答會相互矛盾。

設回答了 "2" 的兔子為藍色。

此外,森林中還應有另外 2 只藍色兔子的回答沒有包含在陣列中。

因此森林中兔子的最少數量是 5: 3 只回答的和 2 只沒有回答的。

輸入: answers = [10, 10, 10]

輸出: 11

輸入: answers =

輸出: 0

說明:

answers 的長度最大為1000。

answers[i] 是在 [0, 999] 範圍內的整數。

我們可以知道,如果兔子的回答是一樣的,也就是answers[i]是一樣的,那麼他們就可能是一種顏色的兔子。我們就先假定他們是一種顏色的兔子,同時我們用雜湊表記錄該顏色兔子還有多少只,只要遍歷到0,我們就顏色+1。詳細過程見**

int

numrabbits

(vector<

int>

& answers)

else color[answers[i]]--

;}return ans;

}

LeetCode 781 森林中的兔子

森林中,每個兔子都有顏色。其中一些兔子 可能是全部 告訴你還有多少其他的兔子和自己有相同的顏色。我們將這些回答放在 answers 陣列裡。返回森林中兔子的最少數量。示例 輸入 answers 1,1,2 輸出 5 解釋 兩隻回答了 1 的兔子可能有相同的顏色,設為紅色。之後回答了 2 的兔子不會是...

雜湊 中等 781 森林中的兔子

題目 森林中,每個兔子都有顏色。其中一些兔子 可能是全部 告訴你還有多少其他的兔子和自己有相同的顏色。我們將這些回答放在 answers 陣列裡。返回森林中兔子的最少數量。示例1 輸入 answers 1,1,2 輸出 5 解釋 兩隻回答了 1 的兔子可能有相同的顏色,設為紅色。之後回答了 2 的兔...

森林中的兔子

題目 森林中,每個兔子都有顏色。其中一些兔子 可能是全部 告訴你還有多少其他的兔子和自己有相同的顏色。我們將這些回答放在answers陣列裡。返回森林中兔子的最少數量。說明 示例1 輸入 answers 1,1,2 輸出 5 解釋 兩隻回答了 1 的兔子可能有相同的顏色,設為紅色。之後回答了 2 的...