一、problem
你的面前有一堵矩形的、由多行磚塊組成的磚牆。 這些磚塊高度相同但是寬度不同。你現在要畫一條自頂向下的、穿過最少磚塊的垂線。
磚牆由行的列表表示。 每一行都是乙個代表從左至右每塊磚的寬度的整數列表。
如果你畫的線只是從磚塊的邊緣經過,就不算穿過這塊磚。你需要找出怎樣畫才能使這條線穿過的磚塊數量最少,並且返回穿過的磚塊數量。
你不能沿著牆的兩個垂直邊緣之一畫線,這樣顯然是沒有穿過一塊磚的。
輸入: [[1,2,2,1],
[3,1,2],
[1,3,2],
[2,4],
[3,1,2],
[1,3,1,1]]
輸出: 2
解釋:
每一行磚塊的寬度之和應該相等,並且不能超過 int_max。
每一行磚塊的數量在 [1,10,000] 範圍內, 牆的高度在 [1,10,000] 範圍內, 總的磚塊數量不超過 20,000
二、solution
方法一:map統計縫隙數
思考
第一感覺是設計乙個 map:key 是縫隙下標,value 是該列磚塊覆蓋的數量;穿過的磚塊最少數量就是出現次數 wall.size()-最多的縫隙數
class
solution
}int mx=0;
for(
auto
&[k,v]
: cnt)
if(v>mx)
mx=v;
return n-mx;}}
;
複雜度分析 雜湊表 B006 LC 森林中的兔子(思維計數)
一 problem 森林中,每個兔子都有顏色。其中一些兔子 可能是全部 告訴你還有多少其他的兔子和自己有相同的顏色。我們將這些回答放在 answers 陣列裡。返回森林中兔子的最少數量。輸入 answers 1,1,2 輸出 5 解釋 兩隻回答了 1 的兔子可能有相同的顏色,設為紅色。之後回答了 2...
雜湊錶小蛋B
雜湊表的意義 直接定址表需要申請全域u大小的空間來儲存資料,其中全域u中的有效資料集合為k,那麼其儲存情況如下圖 而如果利用雜湊函式h,將全域u的值對映到h u 則可以縮小儲存空間,如下圖 衝突 如上圖,k2和k5發生了衝突,解決衝突的方法有如下幾種 1.鏈結法,如下圖 2.開放定址法 一下內容抄自...
集合B 雜湊表模板題
題目 給定兩個集合 a b,集合內的任一元素 x 滿足 1 x 109,並且每個集合的元素個數不大於107。我們希望求出 a b 之間的關係,只需確定在 b 中但是不在 a 中的元素的個數即可。輸入 輸入檔案有兩行,分別表示兩個集合,每行的第乙個整數為這個集合的元素個數 至少乙個 然後緊跟著這個集合...