《LeetCode刷题笔记》Day3——删除元素

技术《LeetCode刷题笔记》Day3——删除元素 《LeetCode刷题笔记》Day3——删除元素给你一个数组 nums和一个值 val,你需要 原地 移除所有数值等于val的元素,并返回移除后数组

《LeetCode刷题笔记》 Day3——删除元素

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

这种问题是要用双指针方法的。

首先在前面定义一个快指针,然后在后面定义一个慢指针。如果快指针没有扫过Val元素,则前进一个空格,慢指针的值等于快指针和慢指针;

如果快速指针扫过Val元素,则慢速指针不会移动。但是后来,慢指针的值等于快指针的值,只少了一步。

例如

for(slowendex=0;fastIndex nums.lengthfast index){ 0

if (nums[fastIndex]!=val){ 0

nums[slowendex]=nums[FastIndex];

slowIndex

}

}

这里,每当快指针的扫描值不等于Val时,大家都会一起增加;

一旦Val值被扫描,快速指针继续向前移动,而慢速指针不移动,并且没有nums[slowendex]=nums[快速索引]和慢速索引。

但是,循环继续后,nums { slowendex }仍将等于nums[fastIndex]。不同的是slowIndex短了一步,这就是为什么慢指针和快指针是分开的。

最后一个输出慢速指针是删除的数组。

整体代码:

//时间复杂度:O(n)

//空间复杂度:O(1)

解决方案类{

公众号:

int removeElement(矢量nums,int val){ 0

int slowwindex=0;

for(int FastIndex=0;fast index nums . size();fast index){ 0

如果(瓦尔!=nums[fastIndex]) {

nums[slowendex]=nums[FastIndex];

}

}

返回slowIndex

}

};

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/149510.html

(0)

相关推荐

  • duboo的使用分析

    技术duboo的使用分析今天就跟大家聊聊有关duboo的使用分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、背景随着互联网的发展,网站应用的规模不断扩大,常

    攻略 2021年11月10日
  • 名字的意义,大家来说说自己名字的含义

    技术名字的意义,大家来说说自己名字的含义先说我头条号的名字名字的意义:树德汉硕,这是我父子名合到一起的名字。我姓口天吴,父叫树德,我叫汉硕。树汉是排辈字,我祖排辈上下排辈是:……超瑞世毓树汉裕厚发宗光……,我儿是裕字辈。

    生活 2021年10月29日
  • css修改表格边框颜色的方法是什么

    技术css修改表格边框颜色的方法是什么本篇内容介绍了“css修改表格边框颜色的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,

    攻略 2021年12月8日
  • 天然气锅炉怎么操作,家用燃气锅炉的正确使用方法

    技术天然气锅炉怎么操作,家用燃气锅炉的正确使用方法1、即使寒冷的冬季不使用热水/采暖热水器,也为了启动防冻结装置,电源需插座上,或将供暖系统内的水放净,才可关闭电源天然气锅炉怎么操作。2、在使用时,首先要注意压力一定不要

    生活 2021年10月19日
  • 繁体字游戏名,带诗意的5字游戏名繁体

    技术繁体字游戏名,带诗意的5字游戏名繁体感性的世界繁体字游戏名、何须叹离别、欠我旳太哆、
    情留一点痴、
    五个字名字、
    如果爱忘了、
    陌生的你我、
    初吻给了烟、
    纯白色衬衫、
    我歌月徘徊、
    下一瓶芬达、
    芯痛,谁会疼、

    生活 2021年10月19日
  • C#如何实现SQL封装

    技术C#如何实现SQL封装这篇文章给大家分享的是有关C#如何实现SQL封装的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。SQLHelper.as , 代码如下:using System;
    us

    攻略 2021年11月24日