问题描述:
样例输入:
要求如下:
代码如下:基于计数排序思想 空间换时间
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());
}
}
运行结果如下: