https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/ 数组、双指针
基础
简单,但是性能不好
function removeDuplicates(nums: number[]): number {
let len = nums.length
let key: number = Infinity
for (let i = 0; i < len; i++) {
if (nums[i] === key) {
nums.splice(i, 1)
len--
i--
} else {
key = nums[i]
}
}
return len
};
双指针
双指针,性能较好
function removeDuplicates(nums: number[]): number {
const len = nums.length;
let i = 0;
for(let j = i + 1; j < nums.length; j++) {
if (nums[i] !== nums[j]) {
i++;
nums[i] = nums[j];
}
}
return i + 1;
};