Skip to content

Commit e66f573

Browse files
author
Yi Gu
committed
[Array] Update to Swift 3.0
1 parent b4e74e7 commit e66f573

File tree

2 files changed

+22
-22
lines changed

2 files changed

+22
-22
lines changed

Array/MaximumSizeSubarraySumEqualsK.swift

+10-11
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,20 @@
55
*/
66

77
class MaximumSizeSubarraySumEqualsK {
8-
func maxSubArrayLen(nums: [Int], _ k: Int) -> Int {
9-
var longestLen = 0
10-
var dict = [Int: Int]()
11-
dict[0] = -1
12-
var sum = 0
8+
func maxSubArrayLen(_ nums: [Int], _ k: Int) -> Int {
9+
var longestLen = 0, sum = 0
10+
var sumToIdx = [Int: Int]()
11+
sumToIdx[0] = -1
1312

14-
for i in 0 ..< nums.count {
15-
sum += nums[i]
13+
for (i, num) in nums.enumerated() {
14+
sum += num
1615

17-
if let lastIndex = dict[sum - k] {
18-
longestLen = max(longestLen, i - lastIndex)
16+
if let idx = sumToIdx[sum - k] {
17+
longestLen = max(longestLen, i - idx)
1918
}
2019

21-
guard let index = dict[sum] else {
22-
dict[sum] = i
20+
guard let idx = sumToIdx[sum] else {
21+
sumToIdx[sum] = i
2322
continue
2423
}
2524
}

Array/MoveZeroes.swift

+12-11
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,25 @@
11
/**
22
* Question Link: https://leetcode.com/problems/move-zeroes/
3-
* Primary idea: keep index zeroIndex, traverse through the array and swap the value
3+
* Primary idea: keep index for element not equal to 0, traverse and set up the index
44
*
55
* Time Complexity: O(n), Space Complexity: O(1)
66
*
77
*/
88

99
class MoveZeroes {
1010
func moveZeroes(_ nums: inout [Int]) {
11-
var zeroIndex = 0
12-
13-
for i in 0 ..< nums.count {
14-
if nums[i] != 0 {
15-
_swap(&nums, i, zeroIndex)
16-
zeroIndex += 1
11+
var idx = 0
12+
13+
for (i, num) in nums.enumerated() {
14+
if num != 0 {
15+
nums[idx] = num
16+
idx += 1
1717
}
1818
}
19-
}
20-
21-
private func _swap<T>(_ nums: inout Array<T>, _ p: Int, _ q: Int) {
22-
(nums[p], nums[q]) = (nums[q], nums[p])
19+
20+
while idx < nums.count {
21+
nums[idx] = 0
22+
idx += 1
23+
}
2324
}
2425
}

0 commit comments

Comments
 (0)