双指针---移动0

常见的双指针有两种形式,⼀种是对撞指针,⼀种是快慢指针。

这里写自定义目录标题

  • 题目链接 [移动0](https://leetcode.cn/problems/move-zeroes/description/)
  • 问题分析
  • 代码解决

题目链接 移动0

在这里插入图片描述

问题分析

在本题中,我们可以⽤⼀个 cur 指针来扫描整个数组,另⼀个dest 指针⽤来记录⾮零数序列的最后⼀个位置。根据 cur 在扫描的过程中,遇到的不同情况,分类处理,实现数组的划分。在 cur 遍历期间,使 [0, dest] 的元素全部都是⾮零元素, [dest + 1, cur - 1] 的元素全是零。(cur遇到非0元素就进行交换)

与快排思想类似(temp替换成0)

代码解决

class Solution {public void moveZeroes(int[] nums) {int dest = -1;for(int cur = 0;cur <= nums.length-1;cur++){//处理非0元素if(nums[cur] != 0){//dest后移dest++;//交换int temp = nums[cur];nums[cur] = nums[dest];nums[dest] = temp;}}}
}

在这里插入图片描述

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

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

相关文章

《智能体开发实战(高阶)》四、系统化的日志周报智能体开发计划

智能体扩展与完善规划 为了将前几个章节的智能体逐步扩展为支持整个公司团队使用的高效工具,以下是分阶段的完善与扩写规划。每个阶段旨在提升功能覆盖范围、处理能力和用户体验,并为企业提供实际价值。 阶段一:基础功能完善 目标:巩固现有功能,提升健壮性和适用性。 支…

linux从frame buffer中将qt界面拷贝出来放到u盘的操作方法

使用的是gsnap工具&#xff0c;源码可以在百度上搜,以Imx6为例的使用方法 rootimx6qsabresd:~# rootimx6qsabresd:~# rootimx6qsabresd:~# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/root 289293 197510 76423 73% / devtmpfs …

Python+OpenCV系列:滤波器的魔力

滤波器是图像处理领域中不可或缺的工具。无论是去除噪声、锐化图像还是提取特征&#xff0c;滤波器都扮演着重要角色。本篇将从简单到复杂&#xff0c;带你快速掌握 PythonOpenCV 中的滤波器使用技巧。 什么是滤波器&#xff1f; 滤波器是一种对图像像素值进行计算、平滑或增强…

Android 使用 Gson + OkHttp 实现 API 的常规使用(个人心得)

学习笔记 一、依赖和权限的添加 网络权限: 在 Android 中进行网络请求时,必须声明权限,确保应用具有访问互联网的能力。 <uses-permission android:name="android.permission.INTERNET"/> 依赖项: 确保在 build.gradle 中添加以下依赖: dependencies …

人工智能的历史概况和脉络

人工智能( AI ) 的历史始于古代&#xff0c;当时有神话、故事和谣言称&#xff0c;人工生物被工匠大师赋予了智慧或意识。从古代到现在&#xff0c;对逻辑和形式推理的研究直接导致了20 世纪 40 年代可编程数字计算机的发明&#xff0c;这是一种基于抽象数学推理的机器。这种设…

基于Arduino的智能太阳能追光系统设计(论文+源码)

1系统方案设计 本次的设基于Arduino的智能太阳能追光系统的设计&#xff0c;整体结构如图2.1所示。整个系统包括Arduino开发板&#xff0c;按键模块&#xff0c;太阳能板&#xff0c;X轴电机,Y轴电机&#xff0c;电池充电模块&#xff0c;电源模块&#xff0c;四路光照检测模块…

Volta——开箱即用的Node.js 版本管理工具

Volta volta 是一个较新的 Node.js 版本管理器&#xff0c;旨在简化 Node.js 和其他工具的安装和管理&#xff0c;在 2019 年出世&#xff0c;仍在积极开发中。Volta 采用了与 nvm 不同的方法&#xff1a;它不是管理 Node.js 的多个版本&#xff0c;而是管理项目及其依赖项。当…

AI+智慧海洋数据集

需要的同学私信联系&#xff0c;推荐关注上面图片 右下角订阅号平台 自取下载。 AI智慧海洋数据可以促进海洋科技领域人工智能新技术产、学、研、用协作&#xff0c;引领行业技术创新&#xff0c;助力AI智慧海洋高质量发展&#xff0c;进一步推广人工智能与海洋科技的融合创新…

【Pandas】pandas eval

Top-level evaluation 方法描述eval(expr[, parser, engine, local_dict, …])用于在传入的字符串形式的表达式上进行高效计算的函数 pandas.eval() pandas.eval() 是 Pandas 库中用于高效计算表达式的函数。它利用 NumExpr 库&#xff08;如果已安装&#xff09;来加速算术…

56.合并区间

以数组 intervals 表示若干个区间的集合&#xff0c;其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间&#xff0c;并返回 一个不重叠的区间数组&#xff0c;该数组需恰好覆盖输入中的所有区间 。 示例 1&#xff1a; 输入&#xff1a;intervals [[1,3]…

域名信息收集(小迪网络安全笔记~

附&#xff1a;完整笔记目录~ ps&#xff1a;本人小白&#xff0c;笔记均在个人理解基础上整理&#xff0c;若有错误欢迎指正&#xff01; 2.1 域名信息收集 引子&#xff1a;上一章介绍了服务器的信息收集。本篇则介绍在面对存在Web资产企业时&#xff0c;其域名信息该如何收…

怎样使用Eclipse创建Maven的Java WEB 项目

文章目录 1、第一种方式&#xff08;选择 archetype 方式&#xff09; 1.1、第一步&#xff1a;创建项目1.2、第二步&#xff1a;配置jre1.3、第三步&#xff1a;配置tomcat1.4、第四步&#xff1a;设置为WEB3.11.5、第五步&#xff1a;配置Maven的编译级别 1.5.1、第一种方法…

细说STM32F407单片机SPI基础知识

目录 一、 SPI接口和通信协议 1、 SPI硬件接口 &#xff08;1&#xff09;MOSI(Master Output Slave Input) &#xff08;2&#xff09;MISO(Master Input Slave Output) &#xff08;3&#xff09;SCK 2、SPI传输协议 &#xff08;1&#xff09;CPHA0时的数据传输时序 …

C# OpenCvSharp DNN 实现百度网盘AI大赛-表格检测第2名方案第三部分-表格方向识别

目录 说明 效果 模型 项目 ​编辑 代码 参考 下载 其他 说明 百度网盘AI大赛-表格检测的第2名方案。 该算法包含表格边界框检测、表格分割和表格方向识别三个部分&#xff0c;首先&#xff0c;ppyoloe-plus-x 对边界框进行预测&#xff0c;并对置信度较高的表格边界…

go语言结构体实现数据结构队列(先进先出)存储数据(逐行注释)

正在学习go语言中&#xff0c;欢迎提出宝贵意见 import ("fmt""sync" )// 数据队列以链表的形式存储数据&#xff0c;每个节点存储一个任意类型的数据&#xff0c; // 创建数据队列、添加数据、删除数据、获取队列长度&#xff0c;每个数据存储在一个节点…

Excel + Notepad + CMD 命令行批量修改文件名

注意&#xff1a;该方式为直接修改原文件的文件名&#xff0c;不会生成新文件 新建Excel文件 A列&#xff1a;固定为 renB列&#xff1a;原文件名称C列&#xff1a;修改后保存的名称B列、C列&#xff0c;需要带文件后缀&#xff0c;为txt文件就是.txt结尾&#xff0c;为png图片…

数据结构-排序(来自于王道)

排序的基本概念 插入排序 在这个算法中&#xff0c;除了输入的数组本身&#xff0c;没有使用额外的数据结构来存储数据&#xff0c;所有的操作都是在原数组上进行的。因此&#xff0c;无论输入数组的大小 n 是多少&#xff0c;算法执行过程中所占用的额外空间是固定的&#xff…

MySQL中DELETE、DROP和TRUNCATE的区别是什么?

MySQL中&#xff0c;DELETE、DROP和TRUNCATE是用于数据管理的三个重要命令&#xff0c;但它们之间存在显著的区别。以下是它们的主要差异&#xff1a; 一、用法不同 DROP 用途&#xff1a;用于删除整个表及其结构。语法&#xff1a;DROP TABLE 表名;特点&#xff1a;在执行DRO…

算力介绍与解析

算力&#xff08;Computing Power&#xff09;是指计算机系统在单位时间内处理数据和执行计算任务的能力。算力是衡量计算机性能的重要指标&#xff0c;直接影响计算任务的速度和效率。 算力的分类和单位 a. 基础算力&#xff1a;以CPU的计算能力为主。适用于各个领域的计算。…

SVN(Subversion)教程

SVN&#xff08;Subversion&#xff09;教程&#xff1a;版本控制入门 什么是 SVN&#xff1f; SVN&#xff08;Subversion&#xff09;是一个集中式版本控制系统&#xff0c;用于管理代码、文档等文件的版本历史。它帮助团队协作开发&#xff0c;提供版本跟踪、文件还原和冲…