多个数组求交集(java)

多个数组求交集(java),第1张

问题描述:

样例输入:

要求如下:

代码如下:基于计数排序思想 空间换时间

import java.util.LinkedList;
import java.util.List;
public class Intersection {
    public static List<Integer> intersection(int[][] nums) {
      List<Integer> list=new LinkedList<>();//计数排序的思想
      int[] a=new int[1001];
        for(int[] row:nums) {//从每一行中获取元素内容
            for(int data:row){//从遍历的每行中,在逐个遍历每一列的元素。
                a[data]++;
            }
        }
        for (int i = 0; i <a.length ; i++) {
            if (nums.length==a[i]){
                list.add(i);
            }
        }
        return list;
    }

    public static void main(String[] args) {
        int[][] nums={{3,1,2,4,5},{1,2,3,4},{3,4,5,6}};
        System.out.println(intersection(nums).toString());
    }
}

运行结果如下:

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/740081.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-28
下一篇 2022-04-28

发表评论

登录后才能评论

评论列表(0条)

保存