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

【leetcode】双指针:移动零 and 复写零

文章目录

  • 1.移动零
  • 2.复写零

1.移动零

在这里插入图片描述

class Solution {
public:
    void moveZeroes(vector<int>& nums) {
       for (int cur = 0, dest = -1; cur < nums.size(); cur++)
            if (nums[cur] != 0)
                swap(nums[++dest], nums[cur]);
    }
};
class Solution {
public:
    void moveZeroes(vector<int>& nums) {
        int cur = 0, dest = -1, n = nums.size();
       while(cur < n)
        {
            if(nums[cur])
            {
                swap(nums[cur++], nums[++dest]);
              
            }
            else
            {
                  cur++;
            }
        }
    }
};

2.复写零

在这里插入图片描述
在这里插入图片描述

class Solution 
{
public:
    void duplicateZeros(vector<int>& nums) 
    {
        int cur = 0, dest = -1, n = nums.size();
        while(cur < n)
        {
            if(nums[cur]) dest++;
            else  dest += 2;
          
            if(dest >= n - 1) break;
            cur++; 
        }
        if(dest == n)
        {
            nums[n - 1] = 0;
            cur--; 
            dest -= 2;
        }
        while(cur >= 0)
        {
            if(nums[cur])
            {
                nums[dest--] = nums[cur--];
            }
            else
            {
                nums[dest--] = 0;
                nums[dest--] = 0;
                cur--;
            }
        }
    }
};

http://www.kler.cn/a/542201.html

相关文章:

  • C语言基础11:分支结构以及if的使用
  • Mybatis源码02 - 初始化基本过程(引导层部分)
  • 今日AI和商界事件(2025-02-10)
  • 使用Redis实现业务信息缓存(缓存详解,缓存更新策略,缓存三大问题)
  • 循环神经网络学习01——transformer:输入部分-嵌入层位置编码
  • C++ decltype 规则推导
  • C++ STL容器之list的使用及复现
  • 使用 POI-TL 和 JFreeChart 动态生成 Word 报告
  • 2.11寒假作业
  • FTP服务端搭建:“文件”存储破烂站
  • 评估多智能体协作网络(MACNET)的性能:COT和AUTOGPT基线方法
  • 第36天:安全开发-JavaEE应用第三方组件Log4j日志FastJson序列化JNDI注入
  • FastExcel + Java:打造高效灵活的Excel数据导入导出解决方案
  • 高等代数笔记—线性变换
  • MyBatis-Plus-Join (MPJ) 框架介绍
  • PostCSS和PurgeCSS如何具体应用于我的项目?
  • Vue事件处理 - 事件修饰符
  • 什么是Java虚拟机(JVM)?它的作用是什么?
  • 单点登录2,jwt与aAuth2.0区别,二者怎么结合起来工作的,完整流程是什么
  • 腾讯云大数据套件TBDS与阿里云大数据能力产品对比
  • 【人工智能】python如何提供API接口供他人调用
  • 初等数论Ⅰ
  • 渗透篇(一)——外网打点之网站篇
  • 【多线程】阻塞队列,线程池,定时器
  • 使用WebMagic爬取51job上的招聘信息
  • unity 安装Entities