当前位置:网站首页>力扣学习---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;
}
}
边栏推荐
猜你喜欢
codeforces每日5题(均1600)-第二十八天
leetcode 13. 罗马数字转整数
要有遥不可及的梦想,也要有脚踏实地的本事
【 Gazebo introductory tutorial] speak the second model library into robot modeling and visualization (editor) model
OpenInfra Days China 2022|SelectDB与你共享 Apache Doris 在互联网广告业务中的实践
集群监控——Zabbix使用
】 【 LeetCode daily one problem - 540. The order of a single element of the array
Catering Supply Chain Management System
公司自用的国产API管理神器
【技术积累】JS事件循环,Promise,async/await的运行顺序
随机推荐
网页端IM即时通讯开发:短轮询、长轮询、SSE、WebSocket
电源测试系统-ATE电源测试系统-ACDC电源模块测试系统NSAT-8000
Learning to Explore - Setting the Foreground Color for Fonts
关于大学生内卷的文献综述
【日记】nodejs构建API框架以及RESTful API 和 JSON-RPC的取舍
JWT主动校验Token是否过期
Boost library study notes (1) Installation and configuration
leetcode 13. 罗马数字转整数
PT100铂热电阻三种测温方法介绍
基于clipboard.js对复制组件的封装
【无标题】
面试官:可以谈谈乐观锁和悲观锁吗
】 【 LeetCode daily one problem - 540. The order of a single element of the array
Speech Recognition Learning Resources
设置表头颜色
Catering Supply Chain Management System
OpenInfra Days China 2022|SelectDB与你共享 Apache Doris 在互联网广告业务中的实践
租房小程序登顶码云热门
mysqlbinlog 超过500g自动删除,保留7个,求大深给个版本
init和destory方法