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

本文介绍了一种解决LeetCode上删除排序数组中重复项问题的方法。通过比较数组中的元素,如果发现连续三个元素满足特定条件,则移除中间元素,确保数组中无重复项。最后对极端情况进行处理。
# Leetcode 删除排序数组中的重复项
# 我的思路:如果nums[i] + num[i + 2] = nums[i + 1] + num[i + 2],那么删除nums[i + 1], 长度 -1 反之长度不减,i += 1
# 在处理下极端问题就行了 我的脑回路似乎很奇怪?
class Solution:
    def removeDuplicates(self, nums: List[int]) -> int:
        if nums != []:
            if len(nums) == 1:
                nums = nums
            else:
                length = len(nums) - 1
                i = 0
                while i + 2 <= length:
                    if nums[i] + nums[i + 2] == nums[i + 1] + nums[i + 2]:
                        nums.remove(nums[i])
                        length -= 1
                    else:
                        i += 1
                if nums[-1] == nums[-2]:
                    nums.remove(nums[-1])
        else:
            nums = []
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值