给定一个由正数,负数和0组成的整数数组,将所有为0的元素,挪到数组末尾。要求时间复杂度O(n)

简介: 给定一个由正数,负数和0组成的整数数组,将所有为0的元素,挪到数组末尾。要求时间复杂度O(n)

一、代码展示:

package comployeetest;
public class Test1 {
  public static void main(String[] args) {
    int[] arr = { 0, -2, 3,0,0,0, 4, 0, 1, 0, -1, 0, 3 };
    order(arr);
    for (int i : arr) {
      System.out.print(i + ",");
    }
  }
  public static void order(int[] arr) {
    int j = arr.length - 1;
    int i = 0;
    int temp;
    while (i < j) {
      if (arr[j] == 0) {
        j--;
        continue;
      }
      if (arr[i] == 0) {
        temp = arr[j];
        arr[j] = arr[i];
        arr[i] = temp;
        j--;
      }
      i++;
    }
  }
}

二、结构展示:

image.png

目录
相关文章
|
6月前
【Leetcode】两数之和,给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
【Leetcode】两数之和,给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
|
28天前
|
Python
07_整数反转2021-04-18
07_整数反转2021-04-18
12 0
|
5月前
7.整数反转
7.整数反转
|
6月前
|
存储 C++
整数反转(C++)
整数反转(C++)
31 0
剑指offer 57. 数组中数值和下标相等的元素
剑指offer 57. 数组中数值和下标相等的元素
104 0
剑指offer 57. 数组中数值和下标相等的元素
|
存储
整数反转1
整数反转1
66 0
|
Java
求整数数组中最大子数组的和(1)
绝大部分同学都已经做出来了单维数组的 求数组中最大子数组的和, 但是你不妨试一试:把你的程序编译为可执行文件, 然后执行 例如 maxsum.exe 输出就是最大子数组的和, 上面的例子就应该输出 16.
111 0
求整数数组中最大子数组的和(1)
|
存储 Rust 算法
整数反转
整数反转
123 0
整数反转
|
机器学习/深度学习 存储 算法
【简单算法】1.两数之和,给定整数数组和目标值,找出数组中2数之和等于目标值的元素
【简单算法】1.两数之和,给定整数数组和目标值,找出数组中2数之和等于目标值的元素
【简单算法】1.两数之和,给定整数数组和目标值,找出数组中2数之和等于目标值的元素
|
存储 算法 Python
python 力扣算法实现2 :#给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 # #最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。
python 力扣算法实现2 :#给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 # #最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。