给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。
不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。
class Solution {
public int removeDuplicates(int[] nums) {
int n = nums.length;
int count = 0,i= 0, j = 0;
int cn = 0,q = 0;
for(i = 0 ; i < n; i+=q){
int result = nums[i];
count= 1;
for(j = i+1;j < n; j++){
if(nums[j] != nums[i]){
break;
}
}
q = j - i;
nums[cn] = result;
cn++;
}
return cn;
}
}
原文地址:https://www.cnblogs.com/zrx-1022/p/12121918.html
时间: 2024-11-08 18:20:25