首页 > 其他分享 >LeetCode 27. 移除元素 题解

LeetCode 27. 移除元素 题解

时间:2023-05-05 15:57:24浏览次数:51  
标签:27 val nums int 题解 元素 数组 移除 指针

题目链接:LeetCode 27. 移除元素
本题大意是要对一个数组进行原地删除数值等于 val 的元素。
双指针算法:
通过一个快指针和慢指针在一个for循环下完成两个for循环的工作。
快指针(p指针):寻找新数组的元素 ,新数组就是不含有目标元素的数组
慢指针(q指针):指向更新 新数组下标的位置
当遇到与val 相等的元素时,p指针继续往后移动,q指针不动,这样来更新原数组中的元素。
代码如下:

func removeElement(nums []int, val int) int {
    // 双指针算法
    p:=0
    q:=0
    for n:=len(nums); p<n ;p++{
        if nums[p] == val{
            continue
        }else{
            nums[q] = nums[p]
            q++
        }
    }
    return q
}

简化一下:

func removeElement(nums []int, val int) int {
    length:=len(nums)
    res:=0
    for i:=0;i<length;i++{
        if nums[i]!=val {
            nums[res]=nums[i]
            res++
        }
    }
    nums=nums[:res]
    return res
}

标签:27,val,nums,int,题解,元素,数组,移除,指针
From: https://www.cnblogs.com/lxing-go/p/17374355.html

相关文章

  • LeetCode 704. 二分查找 题解
    本题考查的就是一个基本的整数二分查找问题对于整数二分,有单调性一定可以二分,没有单调性的有时候也可以二分。算法思想(分为两种方法):查找结果是在左边区间的情况区间被划分为[l,mid]和[mid+1,r]1、确定分界点,mid=q[(l+r)/2]2、判断是否满足是:区间变成[l,mid]因此:r=mid否......
  • 洛谷P4824题解
    题面题意:给出字符串s和t,每次操作将s中出现的第一个t删去,直到不能删为止。求最后的串。|s|<=1e6题解:hash做法。(此题也有kmp和权值线段树做法)因为涉及到删除操作,所以我们要动态的实现这个过程。所以考虑开一个栈来存储当前留下的字符。然后每有一个字符入栈,就拿当前......
  • Linux IMX6ULL RTC掉电不保存问题解决
    背景:公司临时派发的小任务,解决项目中RTC实时时钟的问题,在为解决这个问题之前,项目的实时时钟老是一断电重启就会出现出现恢复到一个固定的时间。琢磨了许久,终于解决了,特此记录一下,给读者如遇到相关问题提供一下思路拓展。平台:imx6ull开发板加Linux系统。解决步骤:1.删除Linux......
  • CWOI 2023.05.04 题解
    mzx的动态规划杂题选讲。stoARC153D-SumofSumofDigitsP7152[USACO20DEC]BovineGeneticsGCF1542E2AbnormalPermutationPairs(hardversion)题意给定\(n,m\),求有多少对长度为\(n\)的排列\(p,q\),满足以下条件:\(p\)的字典序小于\(q\);\(p\)的逆序对......
  • 洛谷P7469题解
    题面题意:有两个字符串a和b,问b中有多少个本质不同子串可以由a删除若干个字符得到。|a|,|b|<=3000题解:字典树(这个题做法很多,后补)。把字符串b的每个子串打到字典树上。然后因为3000^2*26这个东西比较大,所以不能用nxt[id][26]来存储,于是使用链式前向星存图,这样tri......
  • 建民打卡日记4.27
    一、问题描述“福”字倒着贴,寓意“福到”。不论到底算不算民俗,本题且请你编写程序,把各种汉字倒过来输出。这里要处理的每个汉字是由一个N × N的网格组成的,网格中的元素或者为字符 @ 或者为空格。而倒过来的汉字所用的字符由裁判指定。二、流程设计首先逐行录入;双重for......
  • 问题解答 | FMCW TDMA-MIMO毫米波雷达信号处理仿真
    本文编辑:@调皮连续波,保持关注调皮哥,获得更多雷达学习资料和建议!大家好,我是调皮哥,今天继续给大家分享干货,助力大家轻松、快乐、有方向地学习雷达。之前分享的文章:雷达仿真|FMCWTDMA-MIMO毫米波雷达信号处理仿真(可修改为DDMA-MIMO)当中,存在几个小问题(bug),具体如下:第十节:多普勒补偿”......
  • NC19427 换个角度思考
    题目链接题目题目描述给定一个序列,有多次询问,每次查询区间里小于等于某个数的元素的个数即对于询问\((l,r,x)\),你需要输出\(\sum_{i=l}^{r}[a_i\lex]\)的值其中\([exp]\)是一个函数,它返回\(1\)当且仅当\(exp\)成立,其中\(exp\)表示某个表达式输入描述第一行两......
  • 0427
    今天还是打了号爸的模拟赛,T3一个小时没调出来……只能说概率期望还是太抽象,而我又太缺少脑子了……(赛后5分钟发现T3就是个小细节错了)。过程花了10分钟看题,T1是个简单数数题,讨论了一下,先写了个暴力验证正确性,再优化到O(T(x+y)),大概在8:40搞定。T2要数旋转同构的东西,肯定......
  • 基于.NetCore开发博客项目 StarBlog - (27) 使用JWT保护接口
    前言这是StarBlog系列在2023年的第二篇更新......