Упражнения Java Array: Найти сумму двух элементов данного массива, равную данному целому числу
Java Array: упражнение 35 с решением
Напишите программу на Java, чтобы найти сумму двух элементов данного массива, которая равна заданному целому числу.
Образец массива: [1,2,4,5,6]
Целевое значение: 6.
Иллюстрированная презентация:
Пример решения :
Java-код:
import java.util.*;
public class Exercise35
{
public static ArrayList<Integer> two_sum_array_target(final List<Integer> a, int b) {
HashMap<Integer, Integer> my_map = new HashMap<Integer, Integer>();
ArrayList<Integer> result = new ArrayList<Integer>();
result.add(0);
result.add(1);
for(int i = 0; i < a.size(); i++){
if(my_map.containsKey(a.get(i))){
int index = my_map.get(a.get(i));
result.set(0, index );
result.set(1, i );
break;
}
else{
my_map.put(b - a.get(i), i);
}
}
return result;
}
public static void main(String[] args){
ArrayList<Integer> my_array = new ArrayList<Integer>();
my_array.add(1);
my_array.add(2);
my_array.add(4);
my_array.add(5);
my_array.add(6);
int target = 6;
ArrayList<Integer> result = two_sum_array_target(my_array, target);
for(int i : result)
System.out.print("Index: "+i + " ");
}
}
Пример вывода:
Индекс: 1 Индекс: 2
Блок - схема:
Визуализация выполнения кода Java (Python Tutor):
Редактор кода Java:
Улучшите этот пример решения и опубликуйте свой код через Disqus
Предыдущий: Напишите программу на Java, чтобы найти длину самой длинной последовательной последовательности элементов из заданного несортированного массива целых чисел.
Далее: Найти все уникальные триплеты, чтобы сумма всех трех элементов равнялась указанному числу
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования