def remove_duplicates(nums):
if not nums: return 0
k=1
for i in range(1,len(nums)):
if nums[i]!=nums[i-1]: nums[k]=nums[i]; k+=1
return k
public int removeDuplicates(int[] nums){
if(nums.length==0) return 0;
int k=1;
for(int i=1;i<nums.length;i++)
if(nums[i]!=nums[i-1]) nums[k++]=nums[i];
return k;
}
Deduplication. 'not nums' vs length==0.
def remove_duplicates(nums):
if not nums: return 0
k=1
for i in range(1,len(nums)):
if nums[i]!=nums[i-1]: nums[k]=nums[i]; k+=1
return k
public int removeDuplicates(int[] nums){
if(nums.length==0) return 0;
int k=1;
for(int i=1;i<nums.length;i++)
if(nums[i]!=nums[i-1]) nums[k++]=nums[i];
return k;
}
1. Write pointer k 2. Copy if different from prev