Skip to content

Commit 2d894ff

Browse files
committed
[Array] Optimize code style to Remove Duplicates from Sorted Array I and II
1 parent ac531e9 commit 2d894ff

2 files changed

+16
-18
lines changed

Array/RemoveDuplicatesFromSortedArray.swift

+8-10
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,17 @@
77

88
class RemoveDuplicatesFromSortedArray {
99
func removeDuplicates(inout nums: [Int]) -> Int {
10-
if nums.count <= 1 {
11-
return nums.count
10+
guard nums.count > 0 else {
11+
return 0
1212
}
13-
14-
var lastIndex = 0
1513

16-
for num in nums {
17-
if num != nums[lastIndex] {
18-
lastIndex += 1
19-
nums[lastIndex] = num
20-
}
14+
var index = 0
15+
16+
for num in nums where num != nums[index] {
17+
index += 1
18+
nums[index] = num
2119
}
2220

23-
return lastIndex + 1
21+
return index + 1
2422
}
2523
}

Array/RemoveDuplicatesFromSortedArrayII.swift

+8-8
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,19 @@
88

99
class RemoveDuplicatesFromSortedArrayII {
1010
func removeDuplicates(inout nums: [Int]) -> Int {
11-
// edge case
12-
if nums.count <= 2 {
11+
guard nums.count > 2 else {
1312
return nums.count
1413
}
1514

16-
var lastIndex = 1
15+
var index = 1
16+
1717
for i in 2..<nums.count {
18-
if nums[lastIndex] != nums[i] || nums[lastIndex] != nums[lastIndex - 1] {
19-
lastIndex += 1
20-
nums[lastIndex] = nums[i]
21-
}
18+
if nums[index] != nums[index - 1] || nums[index] != nums[i] {
19+
index += 1
20+
nums[index] = nums[i]
21+
}
2222
}
2323

24-
return lastIndex + 1
24+
return index + 1
2525
}
2626
}

0 commit comments

Comments
 (0)