为有牺牲多壮志,敢教日月换新天。

[Swift]LeetCode1213. 三个有序数组的交集 | Intersection of Three Sorted Arrays

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公众号:山青咏芝(let_us_code)
➤博主域名:https://www.zengqiang.org
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:https://www.cnblogs.com/strengthen/p/11608027.html
➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

热烈欢迎,请直接点击!!!

进入博主App Store主页,下载使用各个作品!!!

注:博主将坚持每月上线一个新app!!!

Given three integer arrays arr1arr2 and arr3 sorted in strictly increasing order, return a sorted array of only the integers that appeared in all three arrays.

Example 1:

Input: arr1 = [1,2,3,4,5], arr2 = [1,2,5,7,9], arr3 = [1,3,4,5,8]
Output: [1,5]
Explanation: Only 1 and 5 appeared in the three arrays. 

Constraints:

  • 1 <= arr1.length, arr2.length, arr3.length <= 1000
  • 1 <= arr1[i], arr2[i], arr3[i] <= 2000

给出三个均为 严格递增排列 的整数数组 arr1arr2 和 arr3

返回一个由 仅 在这三个数组中 同时出现 的整数所构成的有序数组。 

示例:

输入: arr1 = [1,2,3,4,5], arr2 = [1,2,5,7,9], arr3 = [1,3,4,5,8]
输出: [1,5]
解释: 只有 1 和 5 同时在这三个数组中出现.

提示:

  1. 1 <= arr1.length, arr2.length, arr3.length <= 1000
  2. 1 <= arr1[i], arr2[i], arr3[i] <= 2000

Runtime: 84 ms
Memory Usage: 21.5 MB
 1 class Solution {
 2     func arraysIntersection(_ arr1: [Int], _ arr2: [Int], _ arr3: [Int]) -> [Int] {
 3         var m:[Int:Int] = [Int:Int]()
 4         for a in arr1 {m[a,default:0] += 1}
 5         for a in arr2 {m[a,default:0] += 1}
 6         for a in arr3 {m[a,default:0] += 1}
 7         var res:[Int] = [Int]()
 8         for (key,val) in m
 9         {
10             if val == 3
11             {
12                 res.append(key)
13             }
14         }
15         return res.sorted(by:<)
16     }
17 }

 


posted @ 2019-09-29 15:14  为敢技术  阅读(604)  评论(0编辑  收藏  举报