Skip to content

Commit

Permalink
添加 第454题.四数相加II Swift版本
Browse files Browse the repository at this point in the history
  • Loading branch information
极客学伟 committed Sep 2, 2021
1 parent 6609258 commit ac49e87
Showing 1 changed file with 27 additions and 2 deletions.
29 changes: 27 additions & 2 deletions problems/0454.四数相加II.md
Original file line number Diff line number Diff line change
Expand Up @@ -220,8 +220,33 @@ var fourSumCount = function(nums1, nums2, nums3, nums4) {
};
```



Swift:
```swift
func fourSumCount(_ nums1: [Int], _ nums2: [Int], _ nums3: [Int], _ nums4: [Int]) -> Int {
// key:a+b的数值,value:a+b数值出现的次数
var map = [Int: Int]()
// 遍历nums1和nums2数组,统计两个数组元素之和,和出现的次数,放到map中
for i in 0 ..< nums1.count {
for j in 0 ..< nums2.count {
let sum1 = nums1[i] + nums2[j]
map[sum1] = (map[sum1] ?? 0) + 1
}
}
// 统计a+b+c+d = 0 出现的次数
var res = 0
// 在遍历大num3和num4数组,找到如果 0-(c+d) 在map中出现过的话,就把map中key对应的value也就是出现次数统计出来。
for i in 0 ..< nums3.count {
for j in 0 ..< nums4.count {
let sum2 = nums3[i] + nums4[j]
let other = 0 - sum2
if map.keys.contains(other) {
res += map[other]!
}
}
}
return res
}
```

-----------------------
* 作者微信:[程序员Carl](https://mp.weixin.qq.com/s/b66DFkOp8OOxdZC_xLZxfw)
Expand Down

0 comments on commit ac49e87

Please sign in to comment.