}}
//計數
class
solution
else
if(taken >
0&& count[x]==0
)}return ans;
}}
//線性探測法+路徑壓縮o(n)
class
solution
return move;
}// 線性探測定址(含路徑壓縮)
private
intfindpos
(int a)
// 否則向後定址
// 因為pos[a]中標記了上次定址得到的空位,因此從pos[a]+1開始定址就行了(不需要從a+1開始)。
b =findpos
(b +1)
; pos[a]
= b;
// 定址後的新空位要重新賦值給pos[a]哦,路徑壓縮就是體現在這裡。
return b;
}}
你知道的越多,你不知道的越多。 945 使陣列唯一的最小增量
給定整數陣列 a,每次 move 操作將會選擇任意 a i 並將其遞增 1。返回使 a 中的每個值都是唯一的最少操作次數。示例 1 輸入 1,2,2 輸出 1 解釋 經過一次 move 操作,陣列將變為 1,2,3 示例 2 輸入 3,2,1,2,1,7 輸出 6 解釋 經過 6 次 move 操作...
945 使陣列唯一的最小增量
題目描述 解題思路 1 先排序再遍歷 先對陣列進行排序,自帶的排序就可以的。最小的元素肯定是不需要增量的,然後遍歷陣列比較大小,如果後乙個數字與前乙個相等,就把後面那個數字加一。這樣加一後會造成就是已經排好序的陣列,但是後面元素比前乙個小,所以判斷條件的時候要增加 如果a i a i 1 那麼後乙個...
Leetcode 945 使陣列唯一的最小增量
給定整數陣列 a,每次 move 操作將會選擇任意a i 並將其遞增1。返回使a中的每個值都是唯一的最少操作次數。示例 1 輸入 1,2,2 輸出 1解釋 經過一次 move 操作,陣列將變為 1,2,3 示例 2 輸入 3,2,1,2,1,7 輸出 6解釋 經過 6 次 move 操作,陣列將變為...