Для нахождения всех пар элементов в массиве, сумма которых равна заданному числу, можно использовать два подхода: перебор всех пар элементов или использование хэш-таблицы. Рассмотрим оба подхода. int[] arr = {2, 4, 6, 8, 10};
int sum = 14;
for (int i = 0; i < arr.length; i++) {
for (int j = i + 1; j < arr.length; j++) {
if (arr[i] + arr[j] == sum) {
System.out.println(arr[i] + ", " + arr[j]);
}
}
} В данном примере мы используем два вложенных цикла for, чтобы перебрать все возможные пары элементов массива и проверить, равна ли их сумма заданному числу. Если это так, то выводим данную пару элементов. Такой способ имеет временную сложность O(n^2), что не является оптимальным для больших массивов. int[] arr = {2, 4, 6, 8, 10};
int sum = 14;
Map<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < arr.length; i++) {
int complement = sum - arr[i];
if (map.containsKey(complement)) {
System.out.println(arr[i] + ", " + complement)