(C++)移动零--双指针法

简介: (C++)移动零--双指针法

个人主页:Lei宝啊

愿所有美好如期而遇


算法原理

双指针法,不一定是说就要使用指针,只是一种形象的说法,在数组中,我们一般将数组下标当做指针,比如我们定义cur,dest,cur的左边都是处理过的,dest左边的都是非0,dest和cur中间的都是0。开始我们将cur赋值0,因为我们不知道下标为0的元素是否是0,所以dest我们赋值为-1,如果cur指向的元素值为0,那么cur++,如果不为0,那么dest++,然后和cur指向的元素交换值,cur++。我们重复上述步骤,直到cur走到尽头。

图示

代码

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


目录
相关文章
|
7月前
|
存储 NoSQL MongoDB
微服务——MongoDB常用命令1——数据库操作
本节介绍了 MongoDB 中数据库的选择、创建与删除操作。使用 `use 数据库名称` 可选择或创建数据库,若数据库不存在则自动创建。通过 `show dbs` 或 `show databases` 查看所有可访问的数据库,用 `db` 命令查看当前数据库。注意,集合仅在插入数据后才会真正创建。数据库命名需遵循 UTF-8 格式,避免特殊字符,长度不超过 64 字节,且部分名称如 `admin`、`local` 和 `config` 为系统保留。删除数据库可通过 `db.dropDatabase()` 实现,主要用于移除已持久化的数据库。
441 0
|
Dart 数据库 开发者
Flutter笔记:用于ORM的Floor框架简记
最近想找用于Dart和Flutter的ORM框架,偶然间发现了Floor,觉得还不错,做一些记录。
548 0
|
存储 算法 Java
【数据结构与算法】1.数据结构绪论
【数据结构与算法】1.数据结构绪论
|
前端开发
【在线教育项目】整合JWT权限校验,登录成功生成token
【在线教育项目】整合JWT权限校验,登录成功生成token
218 0
【在线教育项目】整合JWT权限校验,登录成功生成token
|
SQL 关系型数据库 MySQL
活久见,为什么SHOW TABLE STATUS总是不更新1
活久见,为什么SHOW TABLE STATUS总是不更新1
126 0
|
机器学习/深度学习 计算机视觉
基于RandomForestRegressor的波士顿房价回归预测
RandomForestRegressor中文叫做随机森林回归模型,是一种常用的集成模型。 2018年8月27日笔记 sklearn官方英文用户使用指南:https://sklearn.org/user_guide.html sklearn翻译中文用户使用指南:http://sklearn.apachecn.org/cn/0.19.0/user_guide.html 本文使用的数据集是波士顿房价数据集,可以使用sklearn,datasets库中的load_boston方法直接获取数据。
3014 0
|
Web App开发 JSON JavaScript
第168天:json对象和字符串的相互转换
json对象和字符串的相互转换 1、json对象和字符串的转换 在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和parse()方法。
1604 0
|
8天前
|
存储 关系型数据库 分布式数据库
PostgreSQL 18 发布,快来 PolarDB 尝鲜!
PostgreSQL 18 发布,PolarDB for PostgreSQL 全面兼容。新版本支持异步I/O、UUIDv7、虚拟生成列、逻辑复制增强及OAuth认证,显著提升性能与安全。PolarDB-PG 18 支持存算分离架构,融合海量弹性存储与极致计算性能,搭配丰富插件生态,为企业提供高效、稳定、灵活的云数据库解决方案,助力企业数字化转型如虎添翼!