题目链接:删除有序数组中的重复项
主要思路
定义一个索引index, 遍历数组过程中与该索引的值进行对比,如果不一致,则修改对应索引的值
代码实现
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/**
* 时间复杂度: O(n), 空间复杂度: O(1)
*/
class Solution {
func removeDuplicates(_ nums: inout [Int]) -> Int {
guard nums.count > 0 else {
return 0
}
var index = 0
for num in nums where num != nums[index] {
index += 1
nums[index] = num
}
return index + 1
}
}