Appearance
移除重复元素 / removeDuplicates
题目描述
从有序数组中原地删除重复的元素。
Code
javascript
function removeDuplicates(nums) {
if (nums.length === 0) return 0;
let slow = 0,
fast = 0;
while (fast < nums.length) {
if (nums[fast] !== nums[slow]) {
slow++;
nums[slow] = nums[fast];
}
fast++;
}
return slow + 1;
}
Test Cases
javascript
const { removeDuplicates } = require('../docs/algo/array/removeDuplicates');
describe('removeDuplicates', () => {
it('case1', () => {
const nums = [1, 2, 3, 3, 3, 3, 4, 5];
const expectResult = [1, 2, 3, 4, 5];
const len = removeDuplicates(nums, 3);
expect(len === expectResult.length);
for (let i = 0; i < len; i++) {
expect(nums[i] === expectResult[i]);
}
});
});