2248. Intersection of Multiple Arrays

Easy

Given a 2D integer array nums where nums[i] is a non-empty array of distinct positive integers, return the list of integers that are present in each array of nums sorted in ascending order.

Example 1:

Input: nums = [[3,1,2,4,5],[1,2,3,4],[3,4,5,6]]
Output:
 [3,4]
Explanation:
 
The only integers present in each of nums[0] = [3,1,2,4,5], nums[1] = [1,2,3,4], and nums[2] = [3,4,5,6] are 3 and 4, so we return [3,4].

Example 2:

Input: nums = [[1,2,3],[4,5,6]]
Output:
 []
Explanation:
 
There does not exist any integer present both in nums[0] and nums[1], so we return an empty list [].

Constraints:

  • 1 <= nums.length <= 1000

  • 1 <= sum(nums[i].length) <= 1000

  • 1 <= nums[i][j] <= 1000

  • All the values of nums[i] are unique.

解題

Runtime: 8 ms, faster than 90.12%

Memory Usage: 3.8 MB, less than 95.06%

func intersection(nums [][]int) []int {
    count := make([]int, 1000)
    
    for _, arr := range nums {
        for _, val := range arr {
            count[val-1]++
        }
    }
    
    ans := make([]int, 0)
    for i, val := range count {
        if val==len(nums) {
            ans = append(ans, i+1)
        }
    }
    
    return ans
}

Last updated