leetcode上move zeroes问题

问题如下:

Given an array nums, write a function to move all 0‘s to the end of it while maintaining the relative order of the non-zero elements.

For example, given nums = [0, 1, 0, 3, 12], after calling your function, nums should be [1, 3, 12, 0, 0].

Note:

  1. You must do this in-place without making a copy of the array.
  2. Minimize the total number of operations.

我的解答:

package com.jianghua.index;

import java.util.Scanner;

public class orderr {

     public static void main(String[] args) {
         Scanner sc = new Scanner(System.in);

             int n = 0;
             n=sc.nextInt();
            int [] Array = new int[n];
            Scanner scanner = new Scanner(System.in);
            for (int i = 0; i < Array.length; i++) {
                Array[i]=scanner.nextInt();
            }
            for (int i = 0; i < Array.length; i++) {
                if (Array[i]==0) {
                        for (int j=Array.length-1; j >=0; j--) {

                             if (Array[j]!=0) {
                                 if (i>j) {
                                        break;
                                    }else {
                                int temp;
                                temp = Array[i];
                                Array[i]=Array[j];
                                Array[j]=temp;
                                break;}
                            }
                        }
                    }
                }

                for (int i = 0; i < Array.length; i++) {
                    if (Array[i]==0) {
                        break;
                    }else {
                        for (int k = i+1; k < Array.length; k++) {
                            if (Array[k]!=0) {
                                if (Array[i]>Array[k]) {
                                    int temp;
                                    temp=Array[i];
                                    Array[i]=Array[k];
                                    Array[k]=temp;
                                }
                            }
                        }
                    }

                }
                for (int j = 0; j < Array.length; j++) {
                    System.out.print(Array[j]);
            }

    }
}
时间: 2024-08-04 13:15:17

leetcode上move zeroes问题的相关文章

[LeetCode][JavaScript]Move Zeroes

Move Zeroes Given an array nums, write a function to move all 0's to the end of it while maintaining the relative order of the non-zero elements. For example, given nums = [0, 1, 0, 3, 12], after calling your function, nums should be [1, 3, 12, 0, 0]

LeetCode:Move Zeroes - 将数组中的0移到最后

1.题目名称 Move Zeroes(将数组中的0移到最后) 2.题目地址 https://leetcode.com/problems/move-zeroes 3.题目内容 英文:Given an array nums, write a function to move all 0's to the end of it while maintaining the relative order of the non-zero elements. 中文:给出一个数字数组,写一个函数将数组中所有的0移

leetCode 283. Move Zeroes 数组

283. Move Zeroes Given an array nums, write a function to move all 0's to the end of it while maintaining the relative order of the non-zero elements. For example, given nums = [0, 1, 0, 3, 12], after calling your function, nums should be [1, 3, 12,

【leetcode】Move Zeroes

Move Zeroes 题目: Given an array nums, write a function to move all 0‘s to the end of it while maintaining the relative order of the non-zero elements. For example, given nums = [0, 1, 0, 3, 12], after calling your function, nums should be [1, 3, 12, 0

LeetCode 283. Move Zeroes (移动零)

Given an array nums, write a function to move all 0's to the end of it while maintaining the relative order of the non-zero elements. For example, given nums = [0, 1, 0, 3, 12], after calling your function, nums should be [1, 3, 12, 0, 0]. Note: You

LeetCode 283 Move Zeroes(移动全部的零元素)

翻译 给定一个数字数组.写一个方法将全部的"0"移动到数组尾部.同一时候保持其余非零元素的相对位置不变. 比如,给定nums = [0, 1, 0, 3, 12],在调用你的函数之后,nums应该变为[1, 3, 12, 0, 0]. 备注: 你必须就地完毕,不得复制该数组. 最小化总共的操作数. Given an array nums, write a function to move all 0's to the end of it while maintaining the re

LeetCode: 283 Move Zeroes(easy)

题目: Given an array nums, write a function to move all 0's to the end of it while maintaining the relative order of the non-zero elements. For example, given nums = [0, 1, 0, 3, 12], after calling your function, nums should be [1, 3, 12, 0, 0]. Note:

[LeetCode]: 283: Move Zeroes

题目: Given an array nums, write a function to move all 0's to the end of it while maintaining the relative order of the non-zero elements. For example, given nums = [0, 1, 0, 3, 12], after calling your function, nums should be [1, 3, 12, 0, 0]. Note:

[leetcode] 283. Move Zeroes 解题报告

Given an array nums, write a function to move all 0's to the end of it while maintaining the relative order of the non-zero elements. For example, given nums = [0, 1, 0, 3, 12], after calling your function, nums should be [1, 3, 12, 0, 0]. Note: You