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

27. 移除元素

时间:2023-04-08 10:45:01浏览次数:37  
标签:27 val nums int 元素 fast 数组 移除

力扣题目链接

给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。

不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组

元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。

示例 1:

输入:nums = [3,2,2,3], val = 3
输出:2, nums = [2,2]
解释:函数应该返回新的长度 2, 并且 nums中的前两个元素均为 2。你不需要考虑数组中超出新长度后面的元素。
   例如,函数返回的新长度为 2 ,而 nums = [2,2,3,3] 或 nums = [2,2,0,0],也会被视作正确答案。

示例 2:

输入:nums = [0,1,2,2,3,0,4,2], val = 2
输出:5, nums = [0,1,4,0,3]
解释:函数应该返回新的长度 5, 并且 nums 中的前五个元素为 0, 1, 3, 0, 4。
   注意这五个元素可为任意顺序。你不需要考虑数组中超出新长度后面的元素。

 

提示:

  • 0 <= nums.length <= 100
  • 0 <= nums[i] <= 50
  • 0 <= val <= 100
 1 class Solution {
 2     public int removeElement(int[] nums, int val) {
 3         int slow = 0;
 4         for (int fast = 0; fast < nums.length; fast++) {
 5             if (nums[fast] != val) {
 6                 nums[slow++] = nums[fast];
 7             }
 8         }
 9         return slow;
10     }
11 }       

 

标签:27,val,nums,int,元素,fast,数组,移除
From: https://www.cnblogs.com/Co3y/p/17298110.html

相关文章

  • JavaScript遍历数组用splice方法删除元素,这样写可能有遗漏,你遇到过吗?
    在编写“圳品”信息系统中,有时需要对二维数组中的数据进行筛选并删除一些元素,比如删除二维数组中首个元素为0的行。开始是用for循环访问数组+splice方法删除元素来做:vara=newArray([0,0,0,0],[1,1,1,1],[0,2,2,2],[......
  • LeetCode习题——在排序数组中查找元素的第一个和最后一个位置(二分查找)
    在排序数组中查找元素的第一个和最后一个位置力扣链接:在排序数组中查找元素的第一个和最后一个位置题目给你一个按照非递减顺序排列的整数数组nums,和一个目标值target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值target,返回[-1,-1]。你......
  • EasyARM i.MX283A 完整系统制作指南(Linux 4.13.2+U-Boot 2017.09+BusyBox 1.27.2+Qt5
    原文:https://www.taterli.com/3213/标题老长呢.反正什么都是新的,所有都是开源的,除了下载工具以外,所有源码都有(据说下载工具也有,我懒得找了.),编译器源码自己也能做,但是没必要了.代码下载地址:https://github.com/nickfox-taterli/imx283a-new/releases/tag/v0.1首先有一个U......
  • [ARC127D] Sum of Min of Xor 题解
    先把\(i\)对\(j\)的约束去掉。没有\(\min\)的情况是trival的,发现瓶颈在于如何比较两个数之间的大小。可以发现,对两个二进制数,我们本质上是想要找到它们第一个不同的位置。于是考虑从最高位开始,将\((a_i,b_i)\)按最高位分组为\((0,0),(0,1),(1,0),(1,1)\)四组。每组内......
  • 496. 下一个更大元素 I
    题目链接:496.下一个更大元素I方法一:模拟+哈希表解题思路通过哈希表存储,\(nums\)数组中元素对应的坐标,元素->坐标。然后模拟查找过程。代码classSolution{public:vector<int>nextGreaterElement(vector<int>&nums1,vector<int>&nums2){unordered_......
  • 删除重复元素
    linkcode#include<iostream>#include<unordered_map>usingnamespacestd;intmain(){ unordered_map<char,int>mp; strings; cin>>s; for(inti=0;i<s.size();i++){ mp[s[i]]++; } stringtp=""; for(inti......
  • 给定一个list和一个int数值,循环打印固定范围内list的元素
    比如有一个list,里面有“1,2,3,4,5,6,7,8”这八个元素,再给一个int数值,比如是3,那打印结果就是第一次:1,2,3第二次:4,5,6第三次:7,8,1第四次:2,3,4依次类推...publicstaticvoidmain(String[]args){intstrength=3;List<Integer>indexList=new......
  • 2023年4月7日09:22:27
    注:补昨天的总结。昨天起的比较晚,可能是前天出去玩还没缓过劲来,10多起床,然后去买了中饭,下午开始写思想汇报,下午四点写完第一篇,晚上写完一篇。1、昨天早餐没吃2、和阿璃浪费时间3、思想汇报没有写完昨天的算法和Spring都没有看。总结:生物周期被打断,浪费了一些时间。离目标还有......
  • 力扣627(MySQL)-变更性别(简单)
    题目:Salary 表:请你编写一个SQL查询来交换所有的'f'和'm'(即,将所有'f'变为'm',反之亦然),仅使用单个update语句,且不产生中间临时表。注意,你必须仅使用一条update语句,且不能使用select语句。查询结果如下例所示。示例1: 来源:力扣(LeetCode)链接:https://leet......
  • vue全家桶进阶之路27:Vue.js 3.0的下载和安装
    使用脚手架vue-cli创建vue3项目,创建前需要准备以下:1、node.js环境见:https://www.cnblogs.com/beichengshiqiao/p/17251233.html2、npm、cnpm工具见:https://www.cnblogs.com/beichengshiqiao/p/17251860.html3、vue框架见:https://www.cnblogs.com/beichengshiqia......