找出重复的元素并排序

题目描述

找出数组 arr 中重复出现过的元素。

 

 

代码

 1 function duplicates(arr) {
 2     //升序排序
 3     arr.sort(function(value1 , value2){
 4         if(value1 > value2){
 5             return 1;
 6         }
 7         else if(value1 < value2){
 8             return -1;
 9         }
10         else{
11             return 0;
12         }
13     });
14     var newArr = new Array();
15     var i = 0,j = 0 , k = 0 , num; //num是item出现的次数
16     while(i<arr.length){
17         var item = arr[i];
18         num = 0;     //num初始值为0
19         for(k = i+1;k<arr.length ; k++){
20             if(item == arr[k]){
21                 num++;
22             }
23             else{
24                 break;
25             }
26         }
27         if(num!=0){
28             newArr[j++]=item;
29         }
30         i = k;  //i重新定位
31     }
32     return newArr;
33 }

 

来源:牛客网

posted on 2018-04-19 12:21  大黑ylx  阅读(311)  评论(0编辑  收藏  举报