945 使陣列唯一的最小增量

2021-10-06 11:45:32 字數 709 閱讀 5428

}}

//計數

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 操作,陣列將變為...