數據結構習題–刪除排序數組中的重復項
給你一個 非嚴格遞增排列 的數組 nums ,請你 原地 刪除重復出現的元素,使每個元素 只出現一次 ,返回刪除后數組的新長度。元素的 相對順序 應該保持 一致 。然后返回 nums 中唯一元素的個數。
方法:前后指針
用前指針 i 來遍歷數組,用后指針 j 來完成對數組更新,因為要保證元素不重復,那么如果 當前指針的元素不等于后指針的元素時,那么就更新,當然這么做的前提是該數組是非嚴格遞增的情況
代碼:
public int removeDuplicates(int[] nums) {int i = 1,j =0;while (i < nums.length){if (nums[i] != nums[j]){nums[++j] = nums[i];}i++;}return j + 1;}