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

移动零--双指针

 双指针,把非零移动到前面,后面改为0

#include <iostream>

#include <vector>

using namespace std;

int main(){

    int n;

    cin>>n;

    vector<int> nums(n);

    for (int i=0;i<n;i++) cin>>nums[i];

先动i,如果i的值不等于0,把i移到前面的j,j代表该把下一个非 0 放到哪里;

    int j=0;

    for(int i=0;i<n;i++){

    if(nums[i]!=0) {

    nums[j]=nums[i];

    j++;

   }}

j代表在前面放了几个非零的数,在数组中由nums[j]开始往后改写为0.

   for(int k=j;k<n;k++) nums[k]=0;

    for(int i=0;i<n;i++) cout<<nums[i]<<" ";

   

    return 0;

}

http://www.dtcms.com/a/182401.html

相关文章:

  • 【Java ee初阶】网络原理
  • P1725 琪露诺
  • 代码随想录第41天:图论2(岛屿系列)
  • PPT图表怎么制作?说5款自己使用过的PPT图表制作工具
  • 遗传算法组卷系统实现(Java版)
  • Web 架构之容灾方案深度解析
  • ThinkPad T440P如何从U盘安装Ubuntu24.04系统
  • Cadence学习笔记之---导入PCB板框、网表
  • 贪心算法专题(Part2)
  • 简述Web和HTTP
  • 机器学习 day02
  • 【OpenCV】imread函数的简单分析
  • 计算机网络基础科普
  • 学习黑客了解Python3的“HTTPServer“
  • 社区商城分销合作合规承诺书
  • MacOS 用brew 安装、配置、启动Redis
  • Jsp技术入门指南【十二】自定义标签
  • Laravel 安全:批量赋值 fillable 与 guarded
  • leetcode-hot-100(哈希)
  • 操作系统学习笔记第2章 (竟成)
  • RENAME 语句与RENAME选项学习
  • TCP Socket编程
  • C语言_函数hook_LD_PRELOAD原理和示例
  • opencv处理图像(二)
  • 进阶二:基于HC-SR04和LCD1602的超声波测距
  • 【ts】for in对象时,ts如何正确获取对应的属性值
  • sched_fair 调度:负载权重、虚拟运行时间与最小虚拟时间
  • Js 判断浏览器cookie 是否启用
  • 2025盘古石初赛WP
  • linux 开发小技巧之git增加指令别名