class Solution { public int removeDuplicates(int[] nums) { int i=0,j=1; while(j<nums.length){ if(nums[i]==nums[j]){ j++; }else{ nums[i+1]=nums[j]; i++; j++; } } return i+1; } }
时间: 2024-02-15 09:27:45 浏览: 111
js数组去重-duplicateRemoval
这段代码是用来去除一个有序数组中的重复元素。它的时间复杂度为 O(n),其中 n 是数组的长度。具体来说,它使用两个指针 i 和 j 来遍历数组,其中 i 指向当前已经去除重复元素后的数组的最后一个位置,j 指向当前正在考虑的元素。如果 nums[i] 和 nums[j] 相等,则 j 后移一位;否则,将 nums[j] 复制到 nums[i+1] 的位置,并将 i 和 j 都后移一位。最终返回 i+1,即为去重后数组的长度。
阅读全文