Remove Duplicates from Sorted Array

EasyArrayTwo Pointers

Solution

export function removeDuplicates(nums: number[]): number {
  let currentIndex = 1;
  for (const i of range(1, nums.length)) {
    if (nums[i - 1] !== nums[i]) {
      nums[currentIndex] = nums[i];
      currentIndex += 1;
    }
  }
  return currentIndex;
}
 
function* range(start: number, end?: number) {
  let value = end === undefined ? 0 : start;
  const endValue = end === undefined ? start : end;
  while (value < endValue) {
    yield value++;
  }
}