Упражнения на Java: переместить каждый ноль в правую часть заданного массива целых чисел
Java Basic: упражнение 167 с решением
Напишите программу на Java, чтобы переместить каждый ноль в правую часть заданного массива целых чисел.
Иллюстрированная презентация:
Пример решения:
Java-код:
import java.util.*;
public class Solution {
public static int[] move_zero(int[] nums) {
if (nums == null) {
throw new IllegalArgumentException("Null array!");
}
boolean swap = true;
while (swap) {
swap = false;
for (int i = 0; i < nums.length - 1; i++) {
if (nums[i] == 0 && nums[i + 1] != 0) {
swap(nums, i, i + 1);
swap = true;
}
}
}
return nums;
}
private static void swap(int[] nums, int a, int b) {
int temp = nums[a];
nums[a] = nums[b];
nums[b] = temp;
}
public static void main(String[] args) {
int[] nums = {0,3,4,0,1,2,5,0};
System.out.println("\nOriginal array: "+Arrays.toString(nums));
int[] result = move_zero(nums);
System.out.println("\nResult: " + Arrays.toString(result));
}
}
Пример вывода:
Исходный массив: [0, 3, 4, 0, 1, 2, 5, 0] Результат: [3, 4, 1, 2, 5, 0, 0, 0]
Блок - схема:
Редактор кода Java:
Внесите свой код и комментарии через Disqus.
Previous: написать программу на Java для преобразования заданного целого числа в формат String.
Далее: Напишите программу на Java для умножения двух заданных целых чисел без использования оператора умножения (*).
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code