你一个二维整数数组 nums
,其中 nums[i]
是由 不同 正整数组成的一个非空数组,按 升序排列 返回一个数组,数组中的每个元素在 nums
所有数组 中都出现过。
class Solution {
public List<Integer> intersection(int[][] nums) {
int n = nums.length;
List<Integer> list = new ArrayList<>();
Map<Integer, Integer> map = new HashMap<>();
for(int i = 0; i < n ; i ++){
for(int num : nums[i]){
if(!map.containsKey(num)){
map.put(num, map.getOrDefault(num, 0) + 1);
}else{
map.put(num, map.get(num) + 1);
}
}
}
for(int i = 0; i < n ; i ++){
for(int num : nums[i]){
if(map.get(num) >= n){
list.add(num);
}
}
}
List<Integer> temp= new ArrayList<Integer>();
for(Integer i:list){
if(!temp.contains(i)){
temp.add(i);
}
}
Collections.sort(temp);
return temp;
}
}
我真的很菜 简单题复杂化 谢谢