首页 > 其他分享 >leedcode 删除有序数组中的重复项

leedcode 删除有序数组中的重复项

时间:2024-01-20 15:56:22浏览次数:17  
标签:return 删除 nums leedcode len flag 数组 removeDuplicates

class Solution:  # 1 2 2 3 4
    def removeDuplicates(self, nums):
        nums_len = len(nums)  # 5
        if nums_len == 0:
            return nums_len
        if nums_len == 1:
            return nums_len

        flag=True
        i=0
        while flag:
            nums_len=len(nums)
            if nums_len==1:
                return nums_len
            if nums[i] == nums[i + 1]:#nums = [1,1]
                del nums[i + 1]
                i=0
                continue
            i+=1
            nums_len=len(nums)
            if i==nums_len-1:
                flag=False

        return nums_len

 上面是手打

下面是GPT改进后的

class Solution:  # 1 2 2 3 4
    def removeDuplicates(self, nums):
        nums_len = len(nums) #3
        if nums_len <= 1:
            return nums_len
        i = 0
        while i < nums_len - 1:#1 2 2
            if nums[i] == nums[i + 1]:
                del nums[i + 1]
                nums_len -= 1
            else:
                i += 1
        return nums_len

 

标签:return,删除,nums,leedcode,len,flag,数组,removeDuplicates
From: https://www.cnblogs.com/yyyjw/p/17976540

相关文章

  • JavaScript数组常用方法
    1、带回调函数的方法当涉及到数组操作时,JavaScript提供了许多有用的方法。下面是对一些常见的数组方法的讲解:forEach:forEach方法用于遍历数组中的每个元素,并对每个元素执行一个回调函数。它没有返回值,仅用于执行操作。例如:constnumbers=[1,2,3,4,5];numbers.forEa......
  • 算法-数组
    1.二分查找(LeetCode704)题目:给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。输入:nums=[-1,0,3,5,9,12],target=9输出:4解释:9出现在nums中并且下标为4......
  • 【Python】查找和删除表格中的重复行
    查找:importpandasaspddf=pd.read_excel("秘籍.xlsx")#打开list1=[]foriinrange(df.shape[0]):#总行数list1.append(list(df.values[i]))#将每行以列表的形式装入列表forxinlist1:iflist1.count(x)>1:#如果列表中元素出现次数>1prin......
  • 30_删除二叉搜索树中的节点
    450.删除二叉搜索树中的节点给定一个二叉搜索树的根节点root和一个值key,删除二叉搜索树中的key对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。一般来说,删除节点可分为两个步骤:首先找到需要删除的节点;如果找到了,删除它。示例1:......
  • leecode 189. 轮转数组
    Problem:189.轮转数组目录思路解题方法复杂度Code思路vocalO(1)的解法,太强了,完全想不到是咋想到的解题方法三次递归交换,太妙了复杂度时间复杂度:\(O(\frac{3}{2}n)\)空间复杂度:\(O(1)\)CodeclassSolution{public:voidchange(vector<int>&nums,i......
  • 细说JavaScript数组(JavaScript数组详解)
    ![细说JavaScript数组(JavaScript详解)](https://img-blog.csdnimg.cn/direct/1f9f0b9905754c918bfc33f9d7565825.png#pic_center)一、理解数组数组不是一种独立的数据类型,它由对象发展而来,它可以使用对象的诸多方法,但又区别于对象。数组通常用来存储列表等信息,它就像一张电子表......
  • BZOJ1717 Milk Patterns 产奶的模式 (二分+后缀数组+height数组)
    发现这样起标题更能引流(ylg实锤了)题意给定一个长度为\(n\)的数组\(a\),求在\(a\)中出现了至少\(k\)次的最长子串的长度。解法考虑将一个子串拆成两个后缀,即\([l,r]=[l,n]-[r,n]\),发现一个长度为\(x\)的子串\(t\)在\(i,j\)两个位置出现过当且仅当后缀\(i,j\)有......
  • 912.排序数组--堆排序
    1.题目介绍给你一个整数数组nums,请你将该数组升序排列。示例1:输入:nums=[5,2,3,1]输出:[1,2,3,5]示例2:输入:nums=[5,1,1,2,0,0]输出:[0,0,1,1,2,5]2.题解2.1堆排序思路题目给了我们一个vector数组,要使用堆排序,我们首先要创建一个大根堆,再在这个大根堆的基础上对数......
  • 创建隧道和删除隧道
    一、在linux机器上创建隧道172.36.11.154能访问 172.36.11.153:22端口 ,172.36.11.154不能直接访问10.209.22.101:8157  则 172.36.11.154:18154-----》(172.36.11.153:22)---------》10.209.22.101:8157 1.在172.36.11.154上执行  ssh-CfNg-L18154:10.209.22.101......
  • 再windows批量处理脚本删除和移动文件
    @echooffsetlocalset"folderPath=D:\projects\cloudsignapp\app\src\main\assets\apps\__UNI__BCD1716\www"ifexist"%folderPath%"(echoDeletingfilesin%folderPath%...del/q"%folderPath%\*.*"for/......