zoukankan      html  css  js  c++  java
  • Leetcode练习(Python):数组类:第80题:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。

    题目:
    给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。  不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 
    思路:
    思路较简单
    程序:
    class Solution:
        def removeDuplicates(self, nums: List[int]) -> int:
            length = len(nums)
            if length <= 2:
                return len(nums)
            counter = 0
            index = 1
            while index < len(nums):
                if nums[index - 1] == nums[index]:
                    counter += 1
                    if counter >= 2:
                        del nums[index]
                        index = index - 1
                else:
                    counter = 0
                index += 1
            return len(nums)
  • 相关阅读:
    在禅道中实现WORD等OFFICE文档转换为PDF进行在线浏览
    慎用 supportedRuntime
    定时开关机方案
    谨慎使用Sql server data tool 架构比对排除
    生成数据字典
    Cordova开发速记
    SQLSERVER 2012 收缩日志
    QService 服务容器
    使用用户自定义类型 CLR UDT
    使用DOTNETZIP过滤并压缩相对目录
  • 原文地址:https://www.cnblogs.com/zhuozige/p/12761277.html
Copyright © 2011-2022 走看看