要求:
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。
不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
</body>
<script>
var num=[0,0,1,1,1,2,3,3,4,5,5,5];
var removeDuplicates = function(nums) {
for(let i=0;i<nums.length;i++){
var iteam=nums[i];
//查找该数组值位置的后面是否存在该值
var flag=nums.indexOf(iteam,i+1);
console.log(flag);
if(flag!=-1){
//若存在重复,删去该值
nums.splice(i,1);
//确保索引值不变,继续查找是否还有重复
i--
}
}
return nums.length;
}
console.log(removeDuplicates(num));
console.log(num);
</script>
</html>