LeetCode27——移除元素

news/2024/11/22 12:58:44/

题目来源

https://leetcode.cn/problems/remove-element

题目

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

  • 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。
  • 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。

题目说明

为什么返回数值是整数,但输出的答案是数组呢?

请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。

你可以想象内部操作如下:

// nums 是以“引用”方式传递的。也就是说,不对实参作任何拷贝
int len = removeElement(nums, val);

// 在函数里修改输入数组对于调用者是可见的。
// 根据你的函数返回的长度, 它会打印出数组中 该长度范围内 的所有元素。
for (int i = 0; i < len; i++) {
    print(nums[i]);
}

分析:借助栈

借助栈,将数组nums中不为val的值入栈,扫描完后,将栈中的元素出栈并存入数组nums中,具体实现代码如下:

class Solution {public int removeElement(int[] nums, int val) {Stack<Integer> stack=new Stack<>();int count=0;for(int i=0;i<nums.length;i++){if(nums[i]!=val){count++;stack.push(nums[i]);}}for(int i=0;i<count;i++){if(!stack.empty()){nums[i]=stack.pop();}}return count;}
}

 


http://www.ppmy.cn/news/477145.html

相关文章

构建高可用、高并发和高性能的微服务系统(Spring Cloud实现)

目前Java都在流行一个说词&#xff1a;高并发。 反正不管是不是&#xff0c;反正就是高并发。 谈高并发&#xff0c;我们需要知道几个名词&#xff1a; -响应时间(Response Time&#xff0c;RT)-吞吐量(Throughput)-每秒查询率QPS(Query Per Second)-每秒事务处理量TPS(Transa…

力扣算法刷题Day35|贪心:柠檬水找零 根据身高重建队列 用最少数量的箭引爆气球

力扣题目&#xff1a;#860.柠檬水找零 刷题时长&#xff1a;30min 解题方法&#xff1a;分类讨论模拟 复杂度分析 时间空间 问题总结 找零关键要看手里的钞票面值&#xff0c;并不是总和够了即能找零15元找零可以用105 或者555 本题收获 分类模拟 情况一&#xff1a;账…

小白到运维工程师自学之路 第三十九集 (HAproxy 负载均衡)

一、概述 HAProxy是一款高性能的负载均衡软件&#xff0c;可以将来自客户端的请求分发到多个服务器上&#xff0c;以提高系统的可用性和性能。HAProxy支持多种负载均衡算法&#xff0c;包括轮询、加权轮询、最少连接数等。同时&#xff0c;HAProxy还支持会话保持、健康检查、SS…

音频,音效,音乐网

http://sc.chinaz.com/yinxiao/

小米商城静态页面制做

dd效果图如下 huml 源码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthde…

audio speex 的应用

speex 是一个免费的开源库&#xff0c;主要用于音频的编解码和回声消除等功能&#xff0c;有着较高的压缩比率&#xff0c;是使用于做音频传输功能&#xff0c;回声消除可以降低使用过程中的噪音。 1.github 源码地址 https://github.com/xiph/speex 2.主要函数 int speex_…

audio播放语音

页面代码&#xff1a; <div id"videoDiv"></div> <audio controls"controls" [src]"ypurl" id"video1"> 您的浏览器不支持 audio 元素。 </audio> $("#videoDiv").html("");yyadoiu(atta…

audio音频使用

<audio ref"player" crossOrigin"anonymous" controls style"width:400px" controlsList"nodownload" /> 属性说明&#xff1a; 1、开始播放 this.$refs.player.play() 2、 暂停播放 this.$refs.player.pause() 3、设置播…