给定一个由正数,负数和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

目录
相关文章
|
19天前
【Leetcode】两数之和,给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
【Leetcode】两数之和,给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
|
28天前
给定一个长度为n的数组,请将数组中元素按照奇偶性重新划分,所有奇数靠左边,所有偶数靠右边,然后分别对奇数、偶数部分进行排序
给定一个长度为n的数组,请将数组中元素按照奇偶性重新划分,所有奇数靠左边,所有偶数靠右边,然后分别对奇数、偶数部分进行排序
15 1
|
11月前
剑指offer 57. 数组中数值和下标相等的元素
剑指offer 57. 数组中数值和下标相等的元素
68 0
剑指offer 57. 数组中数值和下标相等的元素
|
11月前
|
搜索推荐
每日一题——两数之和(返回下标和返回数值两种情况)
每日一题——两数之和(返回下标和返回数值两种情况)
|
测试技术
LeetCode 1551. 使数组中所有元素相等的最小操作数
存在一个长度为 n 的数组 arr ,其中 arr[i] = (2 * i) + 1 ( 0 <= i < n )。
88 0
|
Java
求整数数组中最大子数组的和(1)
绝大部分同学都已经做出来了单维数组的 求数组中最大子数组的和, 但是你不妨试一试:把你的程序编译为可执行文件, 然后执行 例如 maxsum.exe 输出就是最大子数组的和, 上面的例子就应该输出 16.
87 0
求整数数组中最大子数组的和(1)
|
存储 算法 Python
python 力扣算法实现2 :#给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 # #最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。
python 力扣算法实现2 :#给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 # #最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。
|
机器学习/深度学习 存储 算法
【简单算法】1.两数之和,给定整数数组和目标值,找出数组中2数之和等于目标值的元素
【简单算法】1.两数之和,给定整数数组和目标值,找出数组中2数之和等于目标值的元素
【简单算法】1.两数之和,给定整数数组和目标值,找出数组中2数之和等于目标值的元素
给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。
给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。
480 0