当前位置:网站首页>LeetCode #26.删除有序数组中的重复项
LeetCode #26.删除有序数组中的重复项
2022-07-29 05:24:00 【张楚明ZCM】
题目截图
注意:题目要求不要占用额外空间,不许在原地修改输入数组。
方法:双指针法
思路:对数组中的元素相互比较,如果发现有重复的就删除。但这种方法在一般适用于新建一个新的空数组,把每个不重复的元素存入其中。如果直接在原数组修改,可能出现误操作情况。不如反过来思考。利用两个游标指示,一个游标负责记录修改,另一个用来对比。对比游标发现前后数值不同则用记录游标记录。这样可以保证新数组不会有重复的选项。返回记录的数值。
class Solution:
def removeDuplicates(self, nums: List[int]) -> int:
if not nums:
return 0
n = len(nums)
i = 1
j = 1
while j < n:
if nums[j] != nums[j - 1]:
nums[i] = nums[j]
i += 1
j += 1
return i
if __name__ == "__main__":
a = Solution()
nums = [1, 1, 2]
print(a.removeDuplicates(nums))
边栏推荐
猜你喜欢
【软件工程之美 - 专栏笔记】27 | 软件工程师的核心竞争力是什么?(上)
Ml4 self study notes
【软件工程之美 - 专栏笔记】17 | 需求分析到底要分析什么?怎么分析?
传统模型预测控制轨迹跟踪——波浪形轨迹(功能包已经更新)
【软件工程之美 - 专栏笔记】25 | 有哪些方法可以提高开发效率?
Based on stc51: schematic diagram and source code of four axis flight control open source project (entry-level DIY)
基于msp430f2491的proteus仿真
ML7 self study notes
TB6600+stm32F407测试
LeetCode #35.搜索插入位置
随机推荐
Hal library learning notes-11 I2C
Huawei cloud 14 day Hongmeng device development -day3 kernel development
爬虫Requests库的一些简单用法
倾角传感器用于通信铁塔、高压电塔长期监测
噪声传感器工作原理是什么?
Ml8 self study notes LDA principle formula derivation
Huawei cloud 14 days Hongmeng device development -day1 environment construction
PHY6252是一款超低功耗物联网蓝牙无线通信芯片
多线程和并发
新能源共享充电桩管理运营平台
ML10 self study notes SVM
TB6600+stm32F407测试
Hal library learning notes-12 SPI
Hal library learning notes - 8 use of serial communication
【RoboMaster】从零开始控制RM电机(2)-CAN通信原理及电调通信协议
DP1332E 多协议高度集成非接触式读写芯片
基于stm32的四针OLED显示
Ml9 self study notes
Si12T和Si14T低功耗电容触摸芯片
LeetCode #876.链表的中间结点