Упражнения на Java: найдите число, которое встречается только один раз в данном массиве целых чисел, все числа встречаются дважды
Java Basic: упражнение 129 с решением
Напишите программу на Java, чтобы найти число, которое встречается только один раз в данном массиве целых чисел, все числа встречаются дважды.
Пример: {10,2,38,23,38,23,21}
Выход: 23
Иллюстрированная презентация:
Пример решения:
Java-код:
import java.util.*;
public class Main {
public static void main(String[] arg)
{
int nums[] = {10, 20, 10, 20, 30, 40, 40, 30, 50};
int result;
System.out.println("Source Array : "+Arrays.toString(nums));
result = getSingleNumber(nums);
System.out.println("\n"+result+" appears only once.");
}
public static int getSingleNumber(int[] nums) {
if(nums == null || nums.length == 0) {
return -1;
}
int result = 0;
for (int i = 0; i < nums.length; i++) {
result ^= nums[i];
}
return result;
}
}
Пример вывода:
Массив источника: [10, 20, 10, 20, 30, 40, 40, 30, 50] 50 появляется только один раз
Блок - схема:
Редактор кода Java:
Внесите свой код и комментарии через Disqus.
Предыдущий: Напишите Java-программу для получения обхода Postorder значений его узлов заданного двоичного дерева.
Далее: Напишите программу на Java, чтобы найти максимальную глубину заданного двоичного дерева.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code