最近才刚开始写起算法,也不知道自己写的对不对,每天自己小练一次,希望能有个进步
给定 nums = [0,0,1,1,1,2,2,3,3,4],
函数应该返回新的长度 5, 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。
var sum= Splice([1,1,2,52,3,4,5,6]);
console.log(sum);
console.log(sum.length);
方法一:
function Splice(nums){
if (nums){
if (nums instanceof Array){
var arr =[];
var s =nums.sort(function (x,x1) {
return x-x1;
});
for (var i=0; i<nums.length; i++){
if (arr.indexOf(s[i])==-1){
arr.push(nums[i]);
}
}
return arr;
}
}
}
方法二//
var arr = [1,1,2,2,3,3,2,4,4,6,7,9];
//方法1
var arrN = arr;
for(var i=0; i<arr.length;i++){
var flag = [];
for(var j=0; j<arrN.length;j++){
if(arr[i] == arrN[j]){
flag.push(j);
}
}
if(flag.length!=1){
for(var j=1; j<flag.length;j++){
arrN.splice(flag[j],1);
}
}
}
console.log(arrN);