当前位置:网站首页>力扣学习---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;
}
}边栏推荐
猜你喜欢
随机推荐
自定义组件,并在组件中注入自定义组件实现多种场景的下的组件切换
yarn detailed introductory tutorial
离散化求前缀和
语音识别学习资源
基于clipboard.js对复制组件的封装
js函数传参是按值传递还是按引用传递?
The use of QCompleter for Qt auto-completion
微信jsApi调用失效的相关问题
LVS+Keepalived群集
About the two architectures of ETL (ETL architecture and ELT architecture)
R语言使用ggpubr包的ggsummarystats函数可视化柱状图(通过ggfunc参数设置)、在可视化图像的下方添加描述性统计结果表格、palette参数配置柱状图及统计数据的颜色
【日记】mysql数据库连接池
hi, 请问下这是什么问题, 我看官网的example就是mysql的, 咋提示不支持?
OpenInfra Days China 2022 | SelectDB to share with you the Apache Doris in Internet advertising business practices
哈夫曼树(暑假每日一题 15)
php如何查询字符串以什么开头
第一章 对象和封装
树莓派连接蓝牙音箱
Learning to Explore - Setting the Foreground Color for Fonts
Interval greedy (interval merge)









