Java Basic: упражнение 209 с решением
Напишите программу на Java, чтобы найти все уникальные комбинации из набора номеров кандидатов. Сумма чисел будет равна заданному целевому числу.
Пример решения:
Java Код:
import java.util. *; Class Main {private static void insert (Map > hashMap , Ключ K, значение V) {if (! HashMap.containsKey (ключ)) {hashMap.put (ключ, новый список ArrayList ()); } hashMap.get (ключ) .add (значение); } public static void Подмножества (int [] A, int i, int j) {System.out.print ("{"); для (int k = i; k > hashMap = new HashMap (); вставить (hashMap, 0, -1); int sum_so_far = 0; для (int index = 0; index list = hashMap.get (sum_so_far - sum); for (Целочисленное значение: список) {Подмножества (A, значение + 1, индекс); }} вставить (hashMap, sum_so_far, index); }} public static void main (String [] args) {{Scanner s = new Scanner (System.in); System.out.println ("Введите количество элементов массива:"); int n = s.nextInt (); System.out.println ("Формат ввода числа: 2 3 4 5:"); int arr [] = новый int [n]; System.out.println ("Введите элементы:"); для (int я = 0; я
Пример вывода:
Количество входных элементов массива: 3 Формат входных чисел: 2 3 4 5: Введите элементы: 6 7 8Введите целевую сумму: 21Набор решений: {6 7 8}
Графическое представление:
Блок-схема:
Java Редактор кода:
Предыдущий: Напишите программу на Java, чтобы проверить, является ли данное целое число степенью двойки или без использования времени O (1).
Далее: Напишите программу на Java, которая будет соответствовать любому одиночному символу (использовать?) или любой последовательности символов с использованием *), включая пустой.