首页 > 其他分享 >leedcode 移除元素

leedcode 移除元素

时间:2024-01-22 10:13:44浏览次数:28  
标签:numms val nums 元素 leedcode len length 移除 new

自己写的:

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

gpt的双指针法:

class Solution:
    def removeElement(self, nums, val):
        # 如果数组为空,直接返回长度为0
        if not nums:
            return 0

        # 初始化新长度为0
        new_length = 0

        # 遍历数组
        for i in range(len(nums)):
            # 如果当前元素不等于val
            if nums[i] != val:
                # 将不等于val的元素移到数组的前面
                # 注意这里使用新长度的索引,实现了原地修改
                nums[new_length] = nums[i]
                # 更新新长度
                new_length += 1

        # 返回新长度,即为移除val后的数组长度
        return new_length

 

标签:numms,val,nums,元素,leedcode,len,length,移除,new
From: https://www.cnblogs.com/yyyjw/p/17979355

相关文章

  • 【LeetCode】27. 移除元素
    题目:27.移除元素解题思路给定一个数组,以及一个需要删除的值;要求在O(1)的空间复杂度中完成可考虑采用快慢指针的方式,left用于记录当前需要进行替换的元素,right指针用于遍历整个数组当right指针所指的值是待删除元素时,那么right右移,left不动即可若不是,那么将right......
  • leedcode 删除有序数组中的重复项
    classSolution:#12234defremoveDuplicates(self,nums):nums_len=len(nums)#5ifnums_len==0:returnnums_lenifnums_len==1:returnnums_lenflag=Truei=0whilef......
  • inspect.exe 进程查看器工具对GUI界面元素进行定位
    对WindowsGUI进行自动化控制需要使用进程查看器工具对GUI界面元素进行定位,定位工具有很多,这里推荐使用微软提供的inspect.exe或者AccessibilityInsights这两款工具。inspect.exeinspect.exe是WindowsSDK自带的一个进程查看器,可以用来查看系统正在运行的进程信息、模块......
  • 完美实现按下鼠标移动元素功能
    先上代码1consthandleChangePosition=()=>{2constelement=canvasBox.valueasHTMLDivElement;3letstartX=0,startY=0,initialX=0,initialY=0;45element.onmousedown=function(e){6//获取当前的transform值7constt......
  • 代码随想录算法训练营第一天| LeetCode704 二分查找,LeetCode35,LeetCode34,leetcode27.
    LeetCode704题目链接:704.二分查找-力扣(LeetCode)第一时间的想法:简单来说,二分法给我的印象就是想一条绳子上打很多的结,每次对折正好是一个结点,我们需要找到想要的结点比如(a)代码思路就是不断对折一直到绳子两端重合中间没有结点,最后剩下的就是要找的结点a了。......
  • 利用javascript获取并修改伪元素的值
    HEAD中添加style标签强制覆盖初始属性这个方法是利用内部css样式的高优先级来覆盖外部css,好处是简单易理解,实现简单。坏处就是吃相太难看,过于粗暴。varstyle=document.createElement('style');style.innerHTML=".test::before{color:green}";//添加样式内容的话也可以用上面提......
  • Java Collections.frequency()方法返回集合中指定元素个数
    JavaCollections.frequency()方法具有什么功能呢?下文笔者讲述Collections.frequency()方法的功能简介说明,如下所示:Collections.frequency()方法的功能:返回一个int值,其值给指定对象在集合中出现的次数Collections.frequency()方法的语法publicstaticintfreque......
  • 一、selenium环境安装+元素定位
    1、html元素构成1)元素的构成<标签名属性名=属性值属性名=属性值>文本内容</标签名>2)通用属性idnameclassstyle 3)如何去查找元素:根据元素本身的特征去找-筛选 2、元素定位selenium49大元素定位策略--传统8大定位策略+selenium4新增第......
  • python 在排序数组中查找元素的第一个和最后一个位置 多种解法
    二分查找:基于二分查找的算法可以在O(logn)的时间复杂度内解决该问题。具体实现方式是,先使用二分查找找到该元素的位置,然后向左和向右扩展,直到找到第一个和最后一个位置。代码如下:defsearchRange(nums,target):defbinarySearch(nums,target,lower):left,righ......
  • 将一个数组中的元素头尾两端对调
    #include<stdio.h>voidinplace_swap(int*x,int*y){printf("--------------\n");printf("x=%d,y=%d\n",*x,*y);*y=*x^*y;printf("x=%d,y=%d\n",*x,*y);*x=*x^*y;printf(&......