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

双指针详解

原地:

​
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.dtcms.com/a/238067.html

相关文章:

  • 《第五人格》暑期活动前瞻爆料:39赛季精华、限定时装返场、新玩法攻略
  • JavaScript 数组学习总结
  • 获取wordpress某个栏目的内容数量
  • 服务网格技术深度解析:Istio vs Linkerd的选型对比
  • 当前市场环境下,软件行业的突围之道:技术演进与商业模式重构
  • 异或和之差-字典树
  • Web后端开发(请求、响应)
  • 开启二进制日志 MySQL显示关闭,关闭二进制日志 MySQL恢复正常
  • 国防科技大学计算机基础慕课课堂学习笔记
  • 查看进程线程的方法
  • Hibernate Validator 数据验证
  • 曼昆《经济学原理》第九版 第八章税收的成本
  • 持续交付的进化:从DevOps到AI驱动的IT新动能
  • Zustand 第二章(状态处理)
  • BOM(Browser Object Model)核心对象手册
  • Windows设置之网络路由
  • Vue2面试题(一)
  • Java核心技术-卷I-读书笔记(第十二版)
  • 从0开始学习R语言--Day20-ARIMA与格兰杰因果检验
  • OpenJudge | 大整数乘法
  • 热成像实例分割电力设备数据集(3类,838张)
  • CMS内容管理系统的设计与实现:架构设计
  • DeepSeek11-Ollama + Open WebUI 搭建本地 RAG 知识库全流程指南
  • ABP vNext 与 HDFS 数据湖存储集成
  • DiscuzX3.5发帖json api
  • QEMU源码全解析 —— 块设备虚拟化(24)
  • eBPF系列--BCC中提供的BPF maps高级抽象如何映射到内核的BPF maps?
  • 第23讲、Odoo18 二开常见陷阱
  • 如何思考?思维篇
  • 数学:”度量空间”了解一下?