1. 程式人生 > >初級演算法---陣列(一) :陣列刪除重複項

初級演算法---陣列(一) :陣列刪除重複項

 最近才剛開始寫起演算法,也不知道自己寫的對不對,每天自己小練一次,希望能有個進步
給定 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);