LeetCode 781 森林中的兔子

2021-09-12 04:05:47 字數 991 閱讀 6137

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

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

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

輸出: 5

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

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

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

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

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

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

輸出: 11

輸入: answers =

輸出: 0

先統計相同num的數量tot,如果tot對(num+1)求余得0的話說明說num這個數字的兔子可以組成一對,比如1,1就是兩隻兔子,組成一對,或者1,1,1,1組成兩對,這樣最少兔子的數目就是對數乘以(num+1)

ans+

=(tot/

(num+1)

)*(num+1)

;

如果不能組成一對的話就,也就是餘數不為0,那麼就是在已經湊成的基礎上多加一對即可

ans+=(

(tot/

(num+1)

)+1)

*(num+1)

;

class solution 

return ans;}}

;

還有就是邊計算邊加,用不到unordered_map,就是碰到乙個新對就把這對能有的全部數量加起來,在這一對兔子的數量加完之前不再繼續新增

class solution 

return ans;}}

;

Leetcode 781 森林中的兔子 C

森林中,每個兔子都有顏色。其中一些兔子 可能是全部 告訴你還有多少其他的兔子和自己有相同的顏色。我們將這些回答放在 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 的...