/*** 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。*/public static void moveZeroes(int[] nums) {//下面是我的解决方法int len = nums.length;int zeroeSize = 0;int temp;for (int i = 0; i < len - zeroeSize; i++) {if (nums[i] == 0) {temp = i +1 ;int lianXuZeroe = 1;while (temp < len - zeroeSize && nums[temp] == 0){zeroeSize ++;temp ++ ;lianXuZeroe ++;}for (int j = i; j < len; j++) {if (j + lianXuZeroe < len) {nums[j] = nums[j+lianXuZeroe];}}zeroeSize ++;}}for (int i = 0; i < zeroeSize; i++) {nums[len -1 -i] = 0;}}

下面是别人的解决方法,真的想的不一样,只移动0和非0的。不整体移动数组。只遍历一遍,就可以。

    if (nums == null || nums.length < 2) {return;}for (int i = 0, j = 0; i < nums.length; i++) {if (nums[i] != 0) {int temp = nums[i];nums[i] = nums[j];nums[j++] = temp;}}

加油,提升自己。不再当初级程序员。

算法---------数组-----------移动零相关推荐

  1. DSt:数据结构的最强学习路线之数据结构知识讲解与刷题平台、刷题集合、问题为导向的十大类刷题算法(数组和字符串、栈和队列、二叉树、堆实现、图、哈希表、排序和搜索、动态规划/回溯法/递归/贪心/分治)总

    DSt:数据结构的最强学习路线之数据结构知识讲解与刷题平台.刷题集合.问题为导向的十大类刷题算法(数组和字符串.栈和队列.二叉树.堆实现.图.哈希表.排序和搜索.动态规划/回溯法/递归/贪心/分治)总 ...

  2. 【算法】快速选择算法 ( 数组中找第 K 大元素 )

    算法 系列博客 [算法]刷题范围建议 和 代码规范 [算法]复杂度理论 ( 时间复杂度 ) [字符串]最长回文子串 ( 蛮力算法 ) [字符串]最长回文子串 ( 中心线枚举算法 ) [字符串]最长回文 ...

  3. php折半查找算法,php二分法查找(也叫折半查找)算法 (数组必须是从小到大的)

    //php二分法查找(也叫折半查找)算法/ 数组必须是从小到大的 $abs=array(1,12,13,114,115,116,117,118); //z查找数组的最大下标 $hight = coun ...

  4. JavaScript数据结构与算法——数组详解(下)

    1.二维与多维数组 JavaScript只支持一维数组,但是通过在数组里保存数组元素的方式,可以轻松创建多维数组. 1.1 创建二维数组 二维数组类似一种由行和列构成的数组表格,在JavaScript ...

  5. JavaScript数组结构与算法——数组详解(中)

    迭代器方法 在上篇中,我们探讨了很多数组方法,接下来总结一下最后一组方法--迭代器方法.这些方法对数组的每个元素应用一个函数,可以返回一个值.一组值.或者一个新数组. 1.不生成新数组的迭代器方法 以 ...

  6. 去重 属性_Javascript算法 — 数组去重

    作为初级前端面试,一般算法问题考的不多,但是如果考算法的话,数组去重被问到的概率是非常大的,本文介绍几种去重方案. 一.双重for 定义一个新数组,并存放原数组的第0个元素,然后将元素组一一和新数组的 ...

  7. [算法]力扣刷题-初级算法 - 数组(三)(数组篇完结) [两数之和] [有效的数独] [旋转图像]

    初级算法 - 数组篇完结: 初级算法 - 数组(一): https://blog.csdn.net/weixin_43854928/article/details/121315702 初级算法 - 数 ...

  8. 机器学习算法笔记(零)

    机器学习算法笔记(零) 简介 机器学习的定义:对于某类任务 T 和性能度量 P,一个计算机程序被认为可以从经验 E 中学习是指,通过经验 E 改进后,它在任务 T 上由性能度量 P 衡量的性能有所提升 ...

  9. 算法--------数组类---------总结

    前言: 写算法也写了十来天了,都是数组类的.今天完成了一个课题,觉得需要总结下.今天突然很遗憾的发现,自己之前写过的算法,现在自己回想起来,也不知道怎么解决. 温故而知新.决定,今天就不写算法题了,决 ...

最新文章

  1. (0029) iOS 开发之API HTTP 请求调试网站
  2. BZOJ 2342 [Shoi2011]双倍回文(manacher+并查集)
  3. Dapper的基本使用 [转]
  4. MapReduce初级案例
  5. linux at自动挂化,linux的at定时任务的使用
  6. [云炬创业基础笔记]第六章商业模式测试20
  7. 深度学习中的数据增广
  8. 【Linux】一步一步学Linux——sshd命令(177)
  9. OPENCV MFC 程序出错修改
  10. html3d转换,CSS3 3D 转换
  11. 协议处理程序初始化失败_域间路由协议的内容有哪些 域间路由协议的内容介绍【详解】...
  12. idea新建maven项目没有src目录的操作方法
  13. Redis--发布订阅
  14. 信杂比公式_信噪比公式
  15. 短视频转场 10个炫酷故障数字闪变PR转场过渡模板
  16. 传教士与野人过河问题
  17. 白平衡(WB:white balance)数值设置
  18. 前端工程化-我们需要做什么
  19. php%00 截断,%00截断问题
  20. mysql将小数取整,mysql的取整函数

热门文章

  1. c 运行 java linux命令行参数,Linux下用命令行编译运行Java总结
  2. C++知识点20——使用C++标准库(再谈string——string的大小、容量、交换与迭代器失效)
  3. LMDIF_函数用法
  4. python画笔初始位置_turtle绘画-移动落笔点(改变初始原点)
  5. c++ 包络谱分析代码_基于特征分析谱估计算法(Capon, MUSIC, ESPRIT)的C++实现
  6. python之vscode中手动选择python解释器(mac)
  7. [Dynamic Language] Python3.7 源码安装 ModuleNotFoundError: No module named '_ctypes' 解决记录...
  8. C# .net core 解决ToLower中缺少CultureInfo格式重载
  9. github远程提交简单入门
  10. 理解Java中的弱引用(Weak Reference)