当前位置: 首页 > ds >正文

双指针详解

原地:

​
class Solution {
public:void moveZeroes(vector<int>& nums) {int left = -1;   //  用于维护不为0的数,及指向最后一个不为0的数,//  一开始不存在所以指向-1int right = 0;  //用来遍历数组while(right < nums.size()){if(nums[right]==0)   //如果相等0直接下一个{right++;}else{left++;      //如果不为0,因为不为0个数+1,所以left++swap(nums[left],nums[right]); // 并交互left和right指向的数,// 及让left指向非0数}}}
};​

解题思路:

思路一:如果可以不在原地数组进行操作的话,可建一个新数组,用一个指针指向原数组进行遍历,另一个指向新数组进行用于维护不为0的数 ,这是一个挺好想的思路。

思路二:但如果在原地进行操作呢,其实思路是一样的,一个指针进行遍历,另一个指针对不为0的数进行维护。

---------------------------------------------------------------------------------------------------------------------------------

异地

http://www.xdnf.cn/news/12945.html

相关文章:

  • 一键搭建 WordPress + MySQL + phpMyAdmin 环境(支持 PHP 版本选择 自定义配置)
  • 浮点数运算和精度总结
  • ​​​​​​​6板块公共数据典型应用场景【政务服务|公共安全|公共卫生|环境保护|金融风控|教育科研]
  • 简约商务通用宣传年终总结12套PPT模版分享
  • 服务器 | Centos 9 系统中,如何部署SpringBoot后端项目?
  • 随便刷刷web题
  • 7.Pandas 数据可视化图-2
  • Cilium动手实验室: 精通之旅---12.Cilium Egress Gateway - Lab
  • ABP vNext 与 HDFS 数据湖存储集成
  • epoll+线程池
  • 正点原子[第三期]Arm(iMX6U)Linux移植学习笔记-12.1 Linux内核启动流程简介
  • 第二章 无刷电机硬件控制
  • 31.2linux中Regmap的API驱动icm20608实验(编程)_csdn
  • Prompt Enginering(提示工程)先进技术
  • 基于FPGA的超声波显示水位距离,通过蓝牙传输水位数据到手机,同时支持RAM存储水位数据,读取数据。
  • 关于 ffmpeg设置摄像头报错“Could not set video options” 的解决方法
  • Kubernetes 节点资源驱逐策略详解:evictionHard 与 evictionSoft
  • 附加模块--Qt OpenGL模块功能及架构
  • 利用pandas gradio实现简单的项目子项拆解及排期
  • Fractal Generative Models论文阅读笔记与代码分析
  • 树莓派超全系列教程文档--(57)如何设置 Apache web 服务器
  • 抖音怎么下载没有水印的视频?
  • ArkUI-X与Android桥接通信之方法回调
  • 华为OD机试真题——机房布局(2025B卷:100分)Java/python/JavaScript/C++最佳实现
  • LeetCode - 53. 最大子数组和
  • 【每日一题 | 2025年6.2 ~ 6.8】第16届蓝桥杯部分偏简单题
  • 大数据治理的常见方式
  • Unity VR/MR开发-VR/开发SDK选型对比分析
  • 20-Oracle 23 ai free Database Sharding-特性验证
  • 求解插值多项式及其余项表达式