LeetCode 26 _ 删除排序数组中的重复项

Posted vv_869

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 26 _ 删除排序数组中的重复项相关的知识,希望对你有一定的参考价值。

1. 题目描述

 

2. 代码

 1 class Solution:
 2     def removeDuplicates(self, nums: \'List[int]\') -> int:
 3         prevalue = 0
 4         n = len(nums)
 5         count = 0
 6         i,j = 0,0
 7         while i < n:
 8             if i == 0:#第一个元素
 9                 prevalue = nums[i]
10                 count += 1
11                 i += 1
12                 j += 1
13             else:#非第一个元素
14                 cur = nums[i]
15                 if cur == prevalue:#连续相同值
16                     i += 1#指针后移
17                 else:#非相同值
18                     nums[j] = cur#给数组重新赋值
19                     count += 1#不同元素的数量+1
20                     prevalue = cur#更新prevalue
21                     i += 1#读取下标+1
22                     j += 1#写入下标+1
23         return count

思路: 双指针法,定义了2个指针,读取 i 和 写入 j 。 

 

以上是关于LeetCode 26 _ 删除排序数组中的重复项的主要内容,如果未能解决你的问题,请参考以下文章

leetcode26 删除排序数组中的重复项(Easy)

LeetCode 第26题 删除排序数组中的重复项

[leetcode] 26. 删除排序数组中的重复项

LeetCode 26 删除排序数组中的重复项

leetcode26: 删除排序数组中的重复项

leetcode 26. 删除排序数组中的重复项