题目描述
除去数组arr中的重复元素,并对新数组进行排序。
示例
输入 [ 1 , 3 , 3 , 5 , 2 , 7 , 0 , 3 , 1 ]
输出 [ 0 , 1 , 2 , 3 , 5 , 7 ]
代码
1 function duplicates(arr) {
2 arr.sort(function(value1 , value2){
3 if(value1 > value2){
4 return 1;
5 }
6 else if(value1 < value2){
7 return -1;
8 }
9 else{
10 return 0;
11 }
12 });
13 var i=0 , j=0 ,k=0;
14 var item = arr[i]; //保存不同值
15 var newArr = [];
16 while(i < arr.length && k < arr.length){
17 //i最终的值为arr.length-1 , 所以当 k = arr.length退出
18 newArr[j++] = arr[i];
19 for( k = i ; k<arr.length ;k++){
20 if(arr[k]!=item){
21 item = arr[k];
22 i=k;
23 break;
24 }
25 }
26 }
27 return newArr;
28 }
来源:牛客网