刪除排序陣列中的重複項 leetcode

2021-10-19 17:27:52 字數 599 閱讀 5323

給定排序陣列a,需要在原地刪除重複出現的元素,使得每個元素只出現元素一次,返回移除後陣列的新長度

leetcode原題位置刪除排序陣列中的重複項

這裡使用的是雙指標,利用快指標快速遍歷所有元素,慢指標替換所有不相同的元素

思路:這裡使用兩個指標,slow和fast兩個指標,fast指標用於遍歷陣列中的所有元素,而slow指標用於確定陣列中所有不相同的元素,關鍵語句是

if

(a[slow]

!= a[fast]

)

用於判斷slow位置的元素與fast位置是否相同,如果相同就繼續遍歷,當不相同的時候就將fast位置對應的元素複製到slow + 1的位置上同時更新slow 為 slow + 1,然後繼續迭代遍歷

完整**如下

public

static

intgetnum

(int

a)fast++;}

return slow +1;

}

刪除排序陣列中的重複項

題目描述 給定乙個排序陣列,你需要在原地刪除重複出現的元素,使得每個元素只出現一次,返回移除後陣列的新長度。不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 o 1 額外空間的條件下完成。示例 給定陣列 nums 1,1,2 函式應該返回新的長度2,並且原陣列 nums 的前兩個元素被修改為...

刪除排序陣列中的重複項

給定乙個排序陣列,你需要在原地刪除重複出現的元素,使得每個元素只出現一次,返回移除後陣列的新長度。不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 o 1 額外空間的條件下完成。示例 1 給定陣列 nums 1,1,2 函式應該返回新的長度 2,並且原陣列 nums 的前兩個元素被修改為 1...

刪除排序陣列中的重複項

給定陣列 nums 1,1,2,2 函式應該返回新的長度 2,並且原陣列 nums 的前兩個元素被修改為 1,2。你不需要考慮陣列中超出新長度後面的元素。給定 nums 0,0,1,1,1,2,2,3,3,4 函式應該返回新的長度 5,並且原陣列 nums 的前五個元素被修改為 0,1,2,3,4。...