精华内容
下载资源
问答
  • 数组去重排序

    2020-12-03 11:56:02
    //int数组去重排序 int[] arr = new int[10]; for (int i = 0; i < arr.length; i++) { //Math.random()返回一个double类型的0.0-1.0之间的数值,包括0,不包括1 arr[i] = (int) (Math.random() * 100) + ...
    
    
    对int数组排序
    
         //对int数组去重排序
            int[] arr = new int[10];
            for (int i = 0; i < arr.length; i++) {
                //Math.random()返回一个double类型的0.0-1.0之间的数值,包括0,不包括1
                arr[i] = (int) (Math.random() * 100) + 1;
                //随机赋值
               // System.out.print(arr[i] + " ");
            }
    
    
            for (int i = 0; i < arr.length - 1; i++) {
                for (int j = 0; j < arr.length - i - 1; j++) {
    
                    if (arr[j] > arr[j + 1]) {
                        int temp = arr[j];
                        arr[j]=arr[j+1];
                        arr[j+1]=temp;
                    }
                }
            }

    对int数组去重

       int arr1[] ={2,10,22,22,27,36,41,45,51,51};
    
            for(int i=0;i<arr1.length-1;i++)
            {
                if(arr1[i]==arr1[i+1])
                {
                    for(int j=i+1;j<arr1.length-1;j++)
                        arr1[j]=arr1[j+1];
                }
            }
    
    
            for (int i = 0; i < arr1.length; i++) {
                System.out.print(arr1[i]+" "); //2 10 22 27 36 41 45 51 51 51
            }
    
            System.out.println();
            for(int i=0;i<arr1.length;i++)
            {
                if(i>0&&arr1[i-1]==arr1[i])
                    break;
                System.out.print(arr1[i] + " "); //2 10 22 27 36 41 45 51
            }//去重后的数组
    1. 利用 List 的 contains() 方法:
    	int[] attr = { 1, 2, 3, 3, 5, 5, 7, 9 };
    		List<Integer> list = new ArrayList<Integer>();
    		for (int i : attr) {
    			if (!list.contains(i)) {
    //boolean contains(Object o):如果列表包含指定的元素,则返回 true
    				list.add(i);
    			}
    		}
    		System.out.println(list);
    	}
    
    
    2. 使用 Set 接口:
    
    
    	int[] attr = { 1, 2, 3, 3, 5, 5, 7, 9 };
    		List<Integer> list = new ArrayList<Integer>();
    		for (int i : attr) {
    			list.add(i);
    		}
    		Set<Integer> set = new HashSet<Integer>();
    		set.addAll(list);
    		System.out.println(set);
    
    

     

     //对string数组去重排序
            String[] a = {"a", "cb", "c", "a", "ab"};
            TreeSet<String> vinFlag = new TreeSet<String>();
            for (String s : a) {
                vinFlag.add(s);
            }
            for (String s : vinFlag) {
                System.out.print(" " + s);
            }

     

    展开全文
  • 多维数组去重排序

    案例

    实现以下多维数组去重排序。

    var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10];
    

    实现方案一:ES5最基础方法

    思路

    1. 创建一个空数组;
    2. 使用递归的方法将多维数组元素取出放入空数组;
    3. 数组去重;
    4. 数组排序。

    代码

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="utf-8"/>
        <title></title>
    </head>
    <body>
    
    </body>
    <script>
        var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10];
        //1.创建一个空数组
        var arr1=[];
        //2.使用递归将多维数组中的元素取出放到空数组
        function findNumber(arr) {
            arr.map((item)=>{
                if(typeof item == 'number'){
                    arr1.push(item);
                }else if(typeof item == 'object'){
                    findNumber(item);
                }
            })
        };
        //调用递归
        findNumber(arr);
        //3.数组去重
        arr1 = arr1.filter((item,index)=>arr1.indexOf(item)==index);
        //4.数组排序
        arr1.sort((a,b)=>{
            return a-b;
        });
        console.log(arr1);
    </script>
    </html>
    

    在这里插入图片描述

    实现方案二:使用ES6的API

    思路

    1. 使用 ES6 flat 方法将数组拉平。
    2. 使用 ES6 Set 构造函数对数组去重;
    3. 使用 sort 方法进行排序。

    代码

    var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10];
    arr =Array.from(new Set(arr.flat(Infinity))).sort((a,b)=>{return a-b});
    console.log(arr);
    

    在这里插入图片描述

    实现方案三:数组与字符串互转

    思路

    1. 通过 toString() 方法将多维数组转换成字符串。
    2. 再通过 split() 方法将字符串转换为一维数组;
    3. 使用 sort 方法进行排序,需要注意的是这时候数组是字符串数组,所以还需要用map转换为数值数组。
    4. 通过 Set 方法去重,再通过 Array.from方法将 Set 类型转换为数组类型。

    代码

     var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10];
     arr = Array.from(new Set(arr.toString().split(",").sort((a,b)=>{ return a-b}).map(Number)));
     console.log(arr);
    

    在这里插入图片描述
    注:后两种方法是参考网上一些大佬的方法,其精辟之处主要体现在 ES6 新语法的便捷和数组与字符串之间的灵活转换。这也鞭策我们要不断地精进自己的技术,多学习新方法,同时在学习的过程中也能够灵活运用。

    展开全文
  • 4085:数组去重排序 总时间限制: 1000ms 内存限制: 1000kB 描述 小吉是银行的会计师,在处理银行帐目的时候,遇到了一些问题。有系列整数,其中含有重复的整数,需要去掉重复后,排序输出,你能帮助小吉解决问题...

    4085:数组去重排序
    总时间限制: 1000ms 内存限制: 1000kB
    描述
    小吉是银行的会计师,在处理银行帐目的时候,遇到了一些问题。有一系列整数,其中含有重复的整数,需要去掉重复后,排序输出,你能帮助小吉解决问题吗?

    输入
    输入数据共2行,第一行输入测试数据个数n,第二行输入这n个整数,整数之间可能有重复,整数之间可能有若干个空格。
    n <= 105,所有的整数不超过104。
    输出
    输出为1行,是这n个数去重后从小到大的排序。
    样例输入
    3
    4 4 2
    样例输出
    2 4

    问题链接Bailian4085 数组去重排序
    问题简述:(略)
    问题分析
        排序问题,还需要去重。数据值的范围有限,可以使用桶排序,顺便就去重了。
    程序说明:(略)
    参考链接:(略)
    题记:到处都是排行榜,排序无所不在。

    AC的C语言程序如下:

    /* Bailian4085 数组去重排序 */
    
    #include <stdio.h>
    #include <string.h>
    
    #define N 10000
    int cnt[N + 1];
    
    int main(void)
    {
        int n, a, i;
    
        memset(cnt, 0, sizeof(cnt));
    
        scanf("%d", &n);
        for(i = 1; i <= n; i++) {
            scanf("%d", &a);
            cnt[a]++;
        }
    
        for(i = 0; i <= N; i++)
            if(cnt[i]) printf("%d ", i);
    
        return 0;
    }
    
    展开全文
  • js数组去重排序

    2018-12-12 14:09:07
    &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &...www.jb51.net 数组去重&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;script&
    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="UTF-8">
        <title>www.jb51.net 数组去重</title>
      </head>
      <body>
        <script>
          //1.filter:(indexOf)方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素, filter() 不会对空数组进行检测。 filter() 不会改变原始数组。
          var arr1 = [7, 7, 7, 8, 8, 8, 82, 82, 839, 49, 329, 8, 3, 3];
          var arr1_1 = arr1.filter(function(m, n) {
            return arr1.indexOf(m) == n;
          })
          document.write(arr1_1 + "<br />");
          //2.map:(push indexOf)把每个元素通过函数传递到当前匹配集合中,生成包含返回值的新的 jQuery 对象。
          var arr2 = [7, 7, 7, 8, 8, 8, 82, 82, 839, 49, 329, 8, 3, 3];
          var arr2_2 = [];
          arr2.map(function(m, n) {
            if(arr2.indexOf(arr2[n]) == n) {
              arr2_2.push(m);
            }
          });
          document.write(arr2_2 + "<br />");
          //3.indexOf(push)搜索数组中的元素,并返回它所在的位置。
          var arr3 = [7, 7, 7, 8, 8, 8, 82, 82, 839, 49, 329, 8, 3, 3];
          var arr3_3 = [];
          for(var i = 0; i < arr3.length; i++) {
            if(arr3_3.indexOf(arr3[i]) == -1) {
              arr3_3.push(arr3[i]);
            }
          }
          document.write(arr3_3 + "<br />");
          //4.splice对数组进行删除、插入、替换,是最强大的数组方法。改变原数组
          var arr4 = [7, 7, 7, 8, 8, 8, 82, 82, 839, 49, 329, 8, 3, 3];
          for(var i = 0; i < arr4.length; i++) {
            for(var j = i + 1; j < arr4.length; j++) {
              if(arr4[i] == arr4[j]) {
                arr4.splice(j, 1)
                j--; //别忘记减
              }
            }
          }
          document.write(arr4 + "<br />");
          //5.push(数组去重一一对比)添加到数组末尾
          var arr5 = [7, 7, 7, 8, 8, 8, 82, 82, 839, 49, 329, 8, 3, 3];
          function remm(arr) {
            var arr5_5 = [];
            for(var i = 0; i < arr5.length; i++) {
              for(var j = 0; j < arr5.length; j++) {
                if(arr5[i] == arr5_5[j]) {
                  break;
                }
              }
              if(arr5[i] != arr5_5[j]) {
                arr5_5.push(arr5[i]);
              }
            }
            return arr5_5;
          }
          document.write(remm(arr5) + "<br />");
          //6.set数据结构Set类似于数组,但是成员的值都是唯一的,没有重复的值。用set.size表示伪数组长度
        var arr6= [7, 7, 7, 8, 8, 8, 82, 82, 839, 49, 329, 8, 3, 3];
          var set = new Set(arr6);
          var newArr = new Array(...set);
          document.write(newArr+"<br />");
        </script>
      </body>
    </html>
    
    展开全文
  • java 数组去重排序

    2019-08-01 09:06:06
    import java.lang.reflect.Array; import java.util.Arrays; import java.util.Collections; import java.util.HashSet; import java.util.TreeSet; ...public class ... //对一个int数组进行排序去重 publi...
  • 主要介绍了jQuery简单实现对数组去重排序操作,结合实例形式分析了jQuery中unique方法进行数组去重及sort方法排序的相关操作技巧,需要的朋友可以参考下
  • js数组去重 js数组排序 对象数组去重 数组排序
  • list数组去重 排序

    2018-03-20 16:36:00
    数组去重 public static void main(String[] arg) { List<String> list = new ArrayList<String>(); list.add("1"); list.add("2"); list.add("3"); list.add("3"); list...
  • 数组去重排序01

    2018-03-22 20:18:41
    //用对象方法实现数组去重 Array.prototype.unique = function() { var newArr = []; for (var i = 0; i &lt; this.length; i++) { if(newArr.indexOf(this[i]) == -1){ newArr.push(this[i]); ...
  • js数组去重 排序以及递归

    千次阅读 2018-05-14 17:37:11
    //数组去重 var arr = [7, 4, 6, 8, 9, 13, 2, 3, 5, 4, 6]; Array.prototype.unique = function () { var arr = []; for (var i = 0; i &lt; this.length; i++) { if (arr.indexOf(this[...
  • JAVA数组去重排序

    千次阅读 2018-07-31 15:33:53
    今天也是很丧的天,天气真的好热啊,胃不舒服,一直打嗝,中午吃了碗凉掉的粥,然后开始拉肚子,一点不想要过来医院学习(基本上都是自己傻坐着,又没有老师来教我们,幽怨.jpg),但不来又过不去自己心里的那道...
  • Java数组去重排序(从大到小)

    千次阅读 2018-07-31 11:22:04
    Java小白的独立写出的第一个Java程序,虽然是很简单的程序,氮素我也花了很长的时间,写出来还是很开心的 ... * 数组去重排序 */ public class arrayaa { public static void main(String[] args) { int demo...
  • 去重排序(从小到大排序) let arr=[1,2,3,3,3,3,4,4,5,5,9,9]; function superSort(){ return [...new Set(arr)].sort(function(a,b){ return a-b; }) } console.log(superSort(arr)); 去重排序(从大到小排序) ...
  • 数组去重排序

    2019-11-26 17:54:34
    数组去重排序/C++
  • let newArray = arr.flat(Infinity)
  • 数组去重 排序

    2017-01-19 14:45:00
    冒泡排序(小到大): function sort(arr){ for(var i=0;i<arr.length;i++){ for(var j=i+1;j<arr.length;j++){ if(arr[i]>arr[j]){ var temp=arr[i]; ...
  • 多维数组指的就是一个数组中包含多个数组
  • 主要介绍了Java实现的数组去重排序操作,结合实例形式分析了Java针对数组去重排序操作相关遍历、排序、判断等使用技巧与注意事项,需要的朋友可以参考下
  • 数组去重排序

    千次阅读 2018-07-05 12:13:30
    //第种只比较不排序 /*var arr =[1,2,2,3,4,6,2,3,7,8] for( var i=0;i&lt;arr.length;i++ ){ for(var j=i+1;j&lt;arr.length;j++){ if(arr[i] == arr[j]){ arr.splice(j,1); ...
  • 而在真实的项目中碰到的数组去重,一般都是交给后端去处理,很少让前端处理数组去重,但是作为知识储备,我们还是应该掌握常用的方法以及思路有所了解。、利用ES6 Set去重(ES6中最常用)不考虑兼容性,这种去重的...
  • 参考代码如下:#include#include#include#includeintmain(void){intN;scanf("%d",&N);intarr[N];inti;for(i=0;i{scanf("%d",&...}//先将数组元素进行排序,方便去重intj;inttmp;for(i=0;i{for(j=i;...
  • 摘要 腾兴网为您分享:php对数组中字符串去重并排序例子,指南针,政务易,嘻嘻动漫,途满配货等软件知识,以及修眉神器,兴业证券优理宝,...数组去重的方法有很多种有数组有遍历了,我们文章下面会给各位推荐各种关...
  • java对象数组去重排序

    千次阅读 2018-02-07 18:25:39
    对于List去重的方法:  在对象中重写equals和hashCode方法: @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; ...
  • 先定义一个用于去重数组arr =[1,2,"2",4,9,"a","a",2,3,5,6,5] (1)method 1: 新建一个数组数组进行遍历,如果新数组中没有则添加 function unique (array) { var tmp = [] array.forEach(function ...
  • JS中数组去重的N种方法......数组:数组去重: 数组: 数组去重: 我们在面试或者工作的过程中,经常会遇到一些关于“数组去重”问题,下面给大家分享几种使用js实现的数组去重的方法: 方法1:遍历数组,利用...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 44,731
精华内容 17,892
关键字:

对一个数组去重排序