起因, 目的:
重新做算法题。 因为不知道要做什么。
先做中等的,一个题, 用了一个小时,还是看不懂要做什么。
那么,只能是先从简单的开始,找找感觉。
题目, 26,
https://leetcode.cn/problems/remove-duplicates-from-sorted-array/description/
参考题解:
直接看代码。
python
# 双指针
def solu(nums):
n = len(nums)
if n <= 1:
return n
# 例子: [1, 1, 2]
left = 0
# 这里的误区是:
# 相等的时候,我想进行处理,但是实际上不需要做任何处理。
# 而只有在不相等的时候,把唯一值保留下来即可。
# 不要忘记了这个题是要做什么!!!! 统计唯一值的个数。
for right in range(1, n):
# 如果相等, 说明 right 指向的元素是重复元素,不保留
if nums[right] == nums[left]:
continue
else:
left += 1
nums[left] = nums[right]
return left + 1
print(solu( [1, 1, 2] ))
老哥留步,支持一下。
![](https://i-blog.csdnimg.cn/direct/b3956ae1d5d942ae8b4cbbfed6533778.jpeg)