Упражнения на Java: найдите все уникальные комбинации из набора номеров кандидатов.

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, которая будет соответствовать любому одиночному символу (использовать?) или любой последовательности символов с использованием *), включая пустой.

Оцените статью
nanomode.ru
Добавить комментарий