列表

详情


2248. 多个数组求交集

给你一个二维整数数组 nums ,其中 nums[i] 是由 不同 正整数组成的一个非空数组,按 升序排列 返回一个数组,数组中的每个元素在 nums 所有数组 中都出现过。

 

示例 1:

输入:nums = [[3,1,2,4,5],[1,2,3,4],[3,4,5,6]]
输出:[3,4]
解释:
nums[0] = [3,1,2,4,5],nums[1] = [1,2,3,4],nums[2] = [3,4,5,6],在 nums 中每个数组中都出现的数字是 3 和 4 ,所以返回 [3,4] 。

示例 2:

输入:nums = [[1,2,3],[4,5,6]]
输出:[]
解释:
不存在同时出现在 nums[0] 和 nums[1] 的整数,所以返回一个空列表 [] 。

 

提示:

原站题解

去查看

上次编辑到这里,代码来自缓存 点击恢复默认模板
class Solution { public: vector<int> intersection(vector<vector<int>>& nums) { } };

python3 解法, 执行用时: 44 ms, 内存消耗: 15.1 MB, 提交时间: 2022-05-27 15:44:16

class Solution:
    def intersection(self, nums: List[List[int]]) -> List[int]:
        n = len(nums)
        freq = defaultdict(int)
        for num in nums:
            for a in num:
                freq[a] += 1
        res = []
        for k, v in freq.items():
            if v == n:
                res.append(k)
        return sorted(res)

上一题