Merge pull request #705 from qxuewei/master

添加 第454题.四数相加II Swift版本
This commit is contained in:
程序员Carl
2021-09-04 17:00:21 +08:00
committed by GitHub
2 changed files with 49 additions and 2 deletions

View File

@@ -266,6 +266,28 @@ var canConstruct = function(ransomNote, magazine) {
};
```
Swift
```swift
func canConstruct(_ ransomNote: String, _ magazine: String) -> Bool {
var record = Array(repeating: 0, count: 26);
let aUnicodeScalarValue = "a".unicodeScalars.first!.value
for unicodeScalar in magazine.unicodeScalars {
// record magazine
let idx: Int = Int(unicodeScalar.value - aUnicodeScalarValue)
record[idx] += 1
}
for unicodeScalar in ransomNote.unicodeScalars {
// ransomNote,record --
let idx: Int = Int(unicodeScalar.value - aUnicodeScalarValue)
record[idx] -= 1
// magazine
if record[idx] < 0 {
return false
}
}
return true
}
```
-----------------------

View File

@@ -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+bvalue:a+b
var map = [Int: Int]()
// nums1nums2map
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
// num3num4 0-(c+d) mapmapkeyvalue
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)