博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LintCode] Move Zeroes 移动零
阅读量:5872 次
发布时间:2019-06-19

本文共 1112 字,大约阅读时间需要 3 分钟。

Given an array nums, write a function to move all 0's to the end of it while maintaining the relative order of the non-zero elements.

Notice
  1. You must do this in-place without making a copy of the array.
  2. Minimize the total number of operations.
Example

Given nums = [0, 1, 0, 3, 12], after calling your function, nums should be [1, 3, 12, 0, 0].

LeetCode上的原题,请参见我之前的博客。

解法一:

class Solution {public:    /**     * @param nums an integer array     * @return nothing, do this in-place     */    void moveZeroes(vector
& nums) { for (int i = 0, j = 0; i < nums.size(); ++i) { if (nums[i]) { swap(nums[i], nums[j++]); } } }};

解法二:

class Solution {public:    /**     * @param nums an integer array     * @return nothing, do this in-place     */    void moveZeroes(vector
& nums) { int left = 0, right = 0; while (right < nums.size()) { if (nums[right]) { swap(nums[left++], nums[right]); } ++right; } }};

本文转自博客园Grandyang的博客,原文链接:,如需转载请自行联系原博主。

你可能感兴趣的文章
PYthon常用模块 logging 日志
查看>>
BZOJ1257:[CQOI2007]余数之和(整除分块)
查看>>
[Android]HttpPost之post请求传递Json数据
查看>>
在View页面,使用@if(){ }输出判断正确的内容
查看>>
js或jquery如何获取父级、子级、兄弟元素(包括祖级、孙级等)
查看>>
软件测试为什么需要学习Linux的知识?Linux学到什么程度?-log5
查看>>
amazon中文文档
查看>>
CodeVs 1017 乘积最大(DP)
查看>>
智能运维基础设施
查看>>
01.LoT.UI 前后台通用框架分解系列之——小图片背景全屏显示(可自动切换背景)...
查看>>
[BZOJ] 3301: [USACO2011 Feb] Cow Line
查看>>
KNN K近邻算法
查看>>
android post(HTTP设置参数,仿html表单提交)
查看>>
BZOJ1061 [NOI2008]志愿者招募
查看>>
第一次作业:深入源码分析进程模型
查看>>
Pandas 基础(9) - 组合方法 merge
查看>>
初学shell,今天遇到由wget下载到本地的网页源代码的乱码问题,无聊的写了一个转码的脚本...
查看>>
磁盘管理常用命令
查看>>
Algs4-2.3.25切换到插入排序的试验
查看>>
Emgucv中快捷的显示图像直方图
查看>>