一、problem
森林中,每個兔子都有顏色。其中一些兔子(可能是全部)告訴你還有多少其他的兔子和自己有相同的顏色。我們將這些回答放在 answers 陣列裡。
返回森林中兔子的最少數量。
輸入: answers = [1, 1, 2]
輸出: 5
解釋:兩隻回答了 "1" 的兔子可能有相同的顏色,設為紅色。
之後回答了 "2" 的兔子不會是紅色,否則他們的回答會相互矛盾。
設回答了 "2" 的兔子為藍色。
此外,森林中還應有另外 2 只藍色兔子的回答沒有包含在陣列中。
因此森林中兔子的最少數量是 5: 3 只回答的和 2 只沒有回答的。
輸入:[1, 1, 1,2]
輸出:7
輸入: answers = [10, 10, 10]
輸出: 11
輸入: answers =
輸出: 0
輸入:[10, 10, 10, 11, 11]
輸出:23
說明:
answers 的長度最大為1000
answers[i] 是在 [0, 999] 範圍內的整數
二、solution
方法一:map
思路
answer[i] = x 表示某乙隻兔子 x 只和自己相同顏色的兔子,此時答案應該累加上 x+1(+1 是觀察者本身);
而如果在 answer **現顏色 x 的次數大於 x 次,多餘的應該屬於其它顏色,其它顏色的計數也應該滿足上述條件才能計入答案
class
solution
else
}return ans;}}
;
複雜度分析 雜湊表 B004 LC 磚牆(統計縫隙的磚塊數)
一 problem 你的面前有一堵矩形的 由多行磚塊組成的磚牆。這些磚塊高度相同但是寬度不同。你現在要畫一條自頂向下的 穿過最少磚塊的垂線。磚牆由行的列表表示。每一行都是乙個代表從左至右每塊磚的寬度的整數列表。如果你畫的線只是從磚塊的邊緣經過,就不算穿過這塊磚。你需要找出怎樣畫才能使這條線穿過的磚塊...
雜湊錶小蛋B
雜湊表的意義 直接定址表需要申請全域u大小的空間來儲存資料,其中全域u中的有效資料集合為k,那麼其儲存情況如下圖 而如果利用雜湊函式h,將全域u的值對映到h u 則可以縮小儲存空間,如下圖 衝突 如上圖,k2和k5發生了衝突,解決衝突的方法有如下幾種 1.鏈結法,如下圖 2.開放定址法 一下內容抄自...
集合B 雜湊表模板題
題目 給定兩個集合 a b,集合內的任一元素 x 滿足 1 x 109,並且每個集合的元素個數不大於107。我們希望求出 a b 之間的關係,只需確定在 b 中但是不在 a 中的元素的個數即可。輸入 輸入檔案有兩行,分別表示兩個集合,每行的第乙個整數為這個集合的元素個數 至少乙個 然後緊跟著這個集合...