美文网首页
LeetCode283 -- iOS使用OC写算法之移动0

LeetCode283 -- iOS使用OC写算法之移动0

作者: 多肉肉 | 来源:发表于2021-12-07 00:53 被阅读0次

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。

示例:

输入: [0,1,0,3,12]

输出: [1,3,12,0,0]

说明:

必须在原数组上操作,不能拷贝额外的数组。

尽量减少操作次数。

-(NSArray *)moveZeroes {

    NSMutableArray *nums = [@[@(0),@(1),@(0),@(3),@(1),@(2)]mutableCopy];

    int j = 0;

    for (int i = 0; i < nums.count; i ++) {

        if ([nums[i]intValue] != 0) {

            nums[j] = nums[i];

            if (i != j) {

                nums[i] = @(0);

            }

            j ++;

        }

    }

    return nums;

}

leetcode链接:https://leetcode-cn.com/problems/move-zeroes/

相关文章

  • LeetCode283 -- iOS使用OC写算法之移动0

    给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 输入: [...

  • 使用OC写算法之BF算法

    BF算法简介 BF算法是Brute Force算法的简称(如果你发挥你得想象 你也可以称之为Boy Friend算...

  • 使用OC写算法之KMP算法

    序言 当简友们看到这篇文章的时候,我默认大家都已经了解过BF算法了,如果有对BF算法不了解的,建议可以先看下我上一...

  • LeetCode热门100题算法和思路(day8)

    LeetCode283 移动零 题目详情 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保...

  • 2018-05-20

    [LeetCode283]移动零 第一次尝试 失败案例: 由于没有考虑到连续0的情况,导致没有考虑到移动一次后可能...

  • 使用OC写算法之快速排序

    序言 由于快速排序有多个优化,所以我今天就就从最开始的快速排序到最终版本的三路快速排序分别给大家呈现出来,优化的过...

  • 使用OC写算法之堆排序

    完全二叉树的基本概念 可能你会疑问,为什么我们明明讲的是堆排序,怎么又扯上了二叉树的概念了,答案就是,我们这里的堆...

  • 使用OC写算法之选择排序

    选择排序的基本原理 它的工作原理如下:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩...

  • 使用OC写算法之冒泡排序

    很久没有来写博客了,最近一直在看数据结构和算法相关的东西,所以接下来的日子会持续给各位简友带来“使用OC写算法”系...

  • 使用OC写算法之插入排序

    序言 看了一下最近写的OC写算法系列,好像还有不少排序算法都没有更新,可能有的朋友也有这方面的需求,所以最近我会把...

网友评论

      本文标题:LeetCode283 -- iOS使用OC写算法之移动0

      本文链接:https://www.haomeiwen.com/subject/hhloxrtx.html