当前位置:网站首页>力扣学习---0804
力扣学习---0804
2022-08-04 17:48:00 【young_man2】
一、移除元素
给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。
不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。
元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。
首先简单写一下我的思路,这道题目需要的是删除不存在的元素,其实也就是在原来的基础上将不需要的数据移动到数组的后面然后返回你需要的长度就行!
那么就可以使用双指针方式进行,走到对应的数据的位置的时候可以进行数据的交换,然后当两个指针碰撞的时候就可以结束了!
class Solution {
public int removeElement(int[] nums, int val) {
int length=nums.length;
if(length==0){
return 0;
}
int index=length-1;
//采用双指针的方式
for(int i=0;i<length;i++){
int prex=nums[i];
int last=nums[index];
if(prex==val){
nums[i]=nums[index];
i--;
index--;
}
if(i==index){
break;
}
}
return index+1;
}
}
边栏推荐
猜你喜欢
2022年五一数学建模C题讲解
《机器学习理论到应用》电子书免费下载
对象实例化之后一定会存放在堆内存中?
What does the product system of a digital financial enterprise look like?
CF86D Powerful array
悦刻难回巅峰
租房小程序登顶码云热门
集群监控——Zabbix使用
Learning and Exploration-Introducing Baidu Statistics to the Website
】 【 LeetCode daily one problem - 540. The order of a single element of the array
随机推荐
codeforces每日5题(均1600)-第二十八天
小程序笔记3
shell函数内如何调用另一个函数
Liunx删除乱码文件
网络靶场监控系统的安全加固纪实(1)—SSL/TLS对日志数据加密传输
下一代 AutoAI:从模型为中心,到数据为中心
R语言dplyr包group_by函数和summarise_at函数计算dataframe计算不同分组的计数个数和均值、使用%>%符号将多个函数串起来
js函数传参是按值传递还是按引用传递?
[Web Automation Test] Quick Start with Playwright, 5 minutes to get started
leetcode 14. 最长公共前缀
LVS+Keepalived群集
如何让 JS 代码不可断点
Cholesterol-PEG-DBCO,CLS-PEG-DBCO,胆固醇-聚乙二醇-二苯基环辛炔科研试剂
使用Redis做某个时间段在线数统计
mysqlbinlog 超过500g自动删除,保留7个,求大深给个版本
clickhouse online and offline table
使用bash语句,清空aaa文件夹下的所有文件
【日记】高并发下的DB分库分表分区策略
静态iP与权限更改[通俗易懂]
R语言缺失时间序列的填充及合并:补齐时间序列数据中所有缺失的时间索引、使用merge函数合并日期补齐之后的时间序列数据和另外一个时间序列数据(补齐左侧数据)