package
0.0.0-20240627085529-3c531c578999
Repository: https://github.com/ct-zh/golearn.git
Documentation: pkg.go.dev
# README
26 删除数组里的重复项
https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/
预估时间:5分钟
思路
- 审题:一个顺序数组,返回len;
- 思路:双指针 - 指针A负责遍历,指针B代表len;只要
[0, B]
的区间内没有重复数据就行了
解答
思路一,双指针 指针p1做遍历, 指针p2 与p1的值做比较,如果不相等,则指针1的值与 指针2的key+1的值做交换(同样需要判断key+1与p1的值是否相同,防止自己交换自己的浪费操作) 细节:
- 如果key+1 == p1 则不进行交换,但是仍然还是需要进行p2++
- 最后返回p2应该+1,因为返回的是子数组的长度,而数组是从0开始的 时间复杂读O(n) 空间复杂度O(1) 执行用时: 8 ms, 在所有 Go 提交中击败了88.14%的用户 内存消耗:4.6 MB, 在所有 Go 提交中击败了39.58%的用户 内存消耗应该在4.4MB为最佳,不知道怎么降