从排序数组中删除重复项
给定 nums = [0,0,1,1,1,2,2,3,3,4], 函数应该返回新的长度 5, 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。 你不需要考虑数组中超出新长度后面的元素。
/**
* @param {number[]} nums
* @return {number}
*/
var removeDuplicates = function(nums) {
var len = nums.length,index = 1;
if(len===0){
return 0;
}
// nums.sort((a,b) => (a-b));
for (var i =1 ; i < len; i++) {
if (nums[index] == nums[index-1]) {
nums.splice(index, 1);
} else {
index ++;
}
}
return nums.length;
};
最开始没注意到是排序数组,做了下排序,突然联想到,如果让一个数组所有元素反转顺序排列,可以这样实现:
nums.sort(() => (1));
或者:
nums.reverse();