博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【携程2018校招】数组中非零元素稳定的放到数组前面,零元素放到数组后面
阅读量:4113 次
发布时间:2019-05-25

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

题目描述:

给定一个数组,在不申请新数组的情况下,把数组中非零元素稳定的放到数组前面,零元素放到数组后面。稳定就是非零元素的相对位置不要发生改变。题目很简单,水一下博客。

解题方案:

第一种方法,就是类似如插入排序的方法,遍历数组,如果遇到非零元素就将其向前移动,移动至前面的元素不为0或至数组顶端为止

第二种方法,操作更少,用一个从零开始的辅助下标,遍历数组,如果遇到非零元素就将其赋给辅助下标的位置,然后辅助下标加加。

代码:

import java.util.Scanner;public class FirstQues {	public static void main(String[] args) {		Scanner in = new Scanner(System.in);				int num = in.nextInt();		int[]  primaryArr = new int[num];		for(int i=0; i
=0; j--){ primaryArr[j] = primaryArr[j+1]; // 当前位置向前移动了,那么此位置就要补为0 primaryArr[j+1] = 0; // 如果j为0,就不能减减了,不然会数组越界 if(j==0) break; } } } } public static void settleArr2(int[] primaryArr){ int index =0; for(int i =0 ; i

测试结果:

你可能感兴趣的文章
Axios使用指南
查看>>
Chrome(谷歌)控制台,console实用教程
查看>>
精选 20 个优质的加载动画,附源码学习地址
查看>>
为什么这些阿里、腾讯、字节跳动的大佬们年薪百万,让他们的公众号告诉你...
查看>>
20个常用的JavaScript字符串方法
查看>>
【HTML 教程】图像标签
查看>>
处理 JS中 undefined 的 7 个技巧
查看>>
纯CSS3实现的几款条纹大背景
查看>>
CSS怎么实现内容不相同的左右两个div等高?
查看>>
CSS flex布局入门
查看>>
使用 ssh 连接 Github 代码库超详细教程
查看>>
21个React开发神器
查看>>
8种常见数据结构及其Javascript实现
查看>>
13 个 NPM 快速开发技巧
查看>>
8道有意思的JavaScript面试题,附解答
查看>>
月入5万的大佬们,假期一般都在干什么?看他们的公众号就知道了
查看>>
5分钟,掌握9个简洁的JavaScript技巧
查看>>
【视频教程】帝国CMS模板开发制作系列教程03
查看>>
ES6、ES7、ES8、ES9、ES10新特性一览
查看>>
JS创建对象的4种方式
查看>>