移除元素(反向双指针)

news2024/9/27 21:20:23

 题目:

算法分析: 

  • 优化关键:题目不需要关注除前k元素以外的部分
  • 左指针等于对应值,复制右指针替代,右指针增加(左指针不变可以继续判断复制的右指针元素是否符合条件
  • 否则左指针增加

 算法图解:

代码: 

class Solution {
    public int removeElement(int[] nums, int val) {
        int right = nums.length -1;
        int left = 0;
        while(left <= right){
            if(nums[left] == val){
                nums[left] = nums[right];
                right--;
            }else{
                left++;
            }
        }
        return left;
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2137608.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

华为项目管理培训产品总监兼首席架构师刘钊受邀为第四届中国项目经理大会演讲嘉宾

全国项目经理专业人士年度盛会 华为项目管理培训产品总监兼首席架构师刘钊先生受邀为PMO评论主办的全国项目经理专业人士年度盛会——2024第四届中国项目经理大会演讲嘉宾&#xff0c;演讲议题为“打造项目管理人才队伍——华为项目经理任职资格和专业认证体系”。大会将于10月…

unity3d入门教程五

unity3d入门教程五 13鼠标事件处理13.2鼠标跟随13.3鼠标拖拽&#xff08;选中对象&#xff0c;拖动对象&#xff09;13.4几个问题14.1事件函数14.2脚本的执行顺序14.3脚本的参数14.4引用类型的参数&#xff08;进行图片更换&#xff0c;人物换装&#xff09; 13鼠标事件处理 需…

PointNet++改进策略 :模块改进 | PointCAT, 使用交叉注意力机制来提升3D点云任务中提升模型精度

论文题目&#xff1a;PointCAT:Cross-Attention Transformer for Point Cloud通讯地址&#xff1a;南京理工大学代码地址&#xff1a;https://github.com/xincheng-yang/PointCAT . PointCAT架构&#xff1a;PointCAT提出了一种基于交叉注意力机制的Transformer网络&#xff0c…

【Python机器学习】序列到序列建模——使用序列到序列网络构建一个聊天机器人

为了寻聊天机器人&#xff0c;下面使用康奈尔电影对话语料库训练一个序列到序列的网络来“适当的”湖大问题或语句。以下聊天机器人示例采用的是Keras blog中的序列到序列的示例。 为训练准备语料库 首先&#xff0c;需要加载语料库并从中生成训练集&#xff0c;训练数据将决…

项目升级必备!TS装饰:简化代码、增加功能的利器 | TypeScript入门指南07

嘿&#xff0c;朋友&#xff01;听说过TS里的装饰器没&#xff1f;就像给代码加了个‘魔法贴’&#xff0c;轻轻一点&#xff0c;功能升级&#xff0c;结构清晰。这篇文章&#xff0c;咱们聊聊这背后的魔法是怎么一回事&#xff01; ts 入门指南系列 Ts vs Js 谁适合前端开发&a…

用Inno Setup打包QT程序输出安装包

InnoSetup打包编译好的QT程序 文章目录 InnoSetup打包编译好的QT程序介绍具体步骤自定义脚本更改引入配置文件/动态库路径申请管理员权限设置安装过程界面的图标和图片C程序依赖运行库 介绍 Inno Setup&#xff1a;用于打包安装程序 具体步骤 首先打开inno setup compiler 第…

MES系统:智能工厂与数字化改造的关键引擎

一、概念范畴&#xff1a; 数字化工厂&#xff1a;是一个更广泛的概念&#xff0c;它强调整个制造过程的数字化转型&#xff0c;包括从产品设计、生产准备、制造过程、管理到营销等各个环节的数字化。数字化工厂利用信息技术、自动化技术和智能化技术对传统工厂进行改造和升级…

怎样在备忘录中添加提醒?怎么设置备忘录提醒

备忘录作为我们日常生活中常用的软件&#xff0c;其记录事项的便捷性已经得到了广泛认可。无论是工作计划、购物清单还是个人日记&#xff0c;备忘录都能帮助我们将这些信息快速记录下来。然而&#xff0c;如果备忘录能够进一步提供提醒功能&#xff0c;那么它将变得更加实用&a…

为什么要用docker?

目录 一、为什么会有docker出现 二、docker理念 三、容器与虚拟机的差异 四、开发/运维&#xff08;DevOps&#xff09; 五、企业级应用 一、为什么会有docker出现 一款产品从开发到上线&#xff0c;从操作系统&#xff0c;到运行环境&#xff0c;再到应用配置。作为开发…

pytorch快速入门(一)—— 基本工具及平台介绍

前言 该pytorch学习笔记应该配合b站小土堆的《pytorch深度学习快速入门教程》使用 环境配置&#xff1a;Anaconda Python编译器&#xff1a;pycharm、jupyter 两大法宝函数 dir&#xff08;&#xff09;&#xff1a;知道包中有什么东西&#xff08;函数 / 属性..…

串口数据波形显示工具对比

目录 1 Serial Port Plotter 1.1 界面 1.2 简介 1.3 使用方法 1.3.1 单通道示例 1.3.2 多通道示例 2 serialplot 2.1 界面 2.2 简介 2.3 使用方法 1 Serial Port Plotter 1.1 界面 1.2 简介 这是一款开源串口显示工具&#xff0c;项目链接&#xff1a; GitHub - C…

待机模式中WKUP上升沿模拟开机与关机

本篇博客重点在于标准库函数的理解与使用&#xff0c;搭建一个框架便于快速开发 目录 前言 待机模式 代码 wkup.h wkup.c main.c 使用注意 前言 建议先阅读下面的博客中待机模式部分。本博客主要分享代码-基于待机模式WKUP引脚的上升沿实现类似长按开机与关机的功能…

TikTok云手机解决运营效率低、封号问题

TikTok&#xff0c;一个拥有30亿下载量、10亿活跃用户的全球热门平台&#xff0c;已成为众多出海商家的首选运营阵地。其玩法与国内抖音相似&#xff0c;为运营者提供了熟悉的操作环境&#xff0c;降低了上手难度。然而&#xff0c;随着TikTok的快速发展&#xff0c;运营者们也…

德之匠信息化阶段模型

今天适逢仲秋佳节&#xff0c;祝大家幸福安康&#xff01; 春生、夏长、秋天也是我们作为知识工作者最开心的季节。经历了项目实践、课题研究&#xff0c;终于能思有一得&#xff0c;是世上第一等的好事。 这个题目的背景是这样。近期我们在做一批中长期信息化项目的分析和总…

深度学习基础案例5--运用动态学习率构建CNN卷积神经网络实现的运动鞋识别(测试集的准确率84%)

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 前言 前几天一直很忙&#xff0c;一直在数学建模中&#xff0c;没有来得及更新&#xff0c;接下来将恢复正常这一次的案例很有意思&#xff1a;在学习动态调整…

【IP协议】解决 IP 地址不够用的问题(IP地址管理:动态分配、NAT、Ipv6)

文章目录 方案一、动态分配 IP 地址方案二、NATNAT 机制的缺点 方案三、IPv6 方案一、动态分配 IP 地址 一个设备上网就分配 IP&#xff0c;不上网就先不分配&#xff08;权宜之计&#xff09; 方案二、NAT 网络地址转换 以一当千&#xff0c;使用一个 IP&#xff0c;代表一大…

Golang | Leetcode Golang题解之第404题左叶子之和

题目&#xff1a; 题解&#xff1a; func isLeafNode(node *TreeNode) bool {return node.Left nil && node.Right nil }func sumOfLeftLeaves(root *TreeNode) (ans int) {if root nil {return}q : []*TreeNode{root}for len(q) > 0 {node : q[0]q q[1:]if no…

anaconda 离线安装PySimpleGUI

下载离线py包 PySimpleGUI-5.0.6-py3-none-any.whl&#xff08;官网&#xff09;pyasn1-0.6.1-py3-none-any.whl&#xff08;清华镜像&#xff09;rsa-4.9-py3-none-any.whl&#xff08;清华镜像&#xff09; 打开Anaconda Prompt 测试 # -*- utf-8 -*- import PySimpleGUI …

同城找搭子小程序有哪些?找搭子社交软件测评笔记分享

寻找搭子不再迷茫&#xff01;今日测评几款热门找搭子小程序&#xff0c;为你开启全新社交体验。真实体验&#xff0c;深度剖析&#xff0c;帮你找到最适合的搭子平台&#xff0c;快来一探究竟。 1. 咕哇找搭子小程序&#xff1a;这是一个实名制的找搭子交友平台。正是由于实名…

任务通知(Task Notifications)

任务通知简介 相对于以前使用 FreeRTOS 内核通信的资源&#xff0c; 必须创建队列、 二进制信号量、计数信号量或事件组的情况&#xff0c; 使用任务通知显然更灵活。 按照 FreeRTOS 官方的说法&#xff0c; 使用任务通知比通过信号量等 IPC 通信方式解除阻塞的任务要快 45%&a…