当前位置:网站首页>力扣学习---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;
}
}边栏推荐
猜你喜欢

框架整合(二)- 使用Apache ShardingSphere实现数据分片

"Involution" Index Analysis Based on AHP

88. (the home of cesium) cesium polymerization figure

使用scikit-learn计算文本TF-IDF值

又一款高颜值 Redis 官方可视化工具,功能真心强大!

基于 eBPF 的 Kubernetes 可观测实践

mysqlbinlog 超过500g自动删除,保留7个,求大深给个版本

荣耀互联对外开放,赋能智能硬件合作伙伴,促进全场景生态产品融合

】 【 LeetCode daily one problem - 540. The order of a single element of the array

【无标题】
随机推荐
华为云计算HCIE之oceanstor仿真器的使用操作
LeetCode Question of the Day - 1403. Minimum Subsequence in Non-Increasing Order
leetcode 13. 罗马数字转整数
微信jsApi调用失效的相关问题
Investigation and Research Based on the Involution Behavior of College Students
第一章 对象和封装
Codeforces积分系统介绍
Create Sentinel high-availability cluster current limiting middleware from -99
离散化求前缀和
荣耀发布开发者服务平台,智慧生态合作提速
PT100铂热电阻三种测温方法介绍
【技术笔记】let 和 var和const的异同
OpenInfra Days China 2022|SelectDB与你共享 Apache Doris 在互联网广告业务中的实践
【MySQL】数据库的4中隔离级别
golang安装和基础配置
框架整合(二)- 使用Apache ShardingSphere实现数据分片
如何模拟后台API调用场景,很细!
codeforces每日5题(均1600)-第二十八天
About the two architectures of ETL (ETL architecture and ELT architecture)
【技术积累】JS事件循环,Promise,async/await的运行顺序