LeetCode предоставляет разнообразные задачи по программированию, в том числе и алгоритмические. Одной из таких задач является "Two Sum" - на первый взгляд, простая, но открывающая возможность глубже погрузиться в алгоритмы и структуры данных. Описание задачи: Дан массив целых чисел nums и целевое число target. Требуется найти два числа в массиве, сумма которых равна target, и вернуть их индексы. Предполагается, что ровно одно решение существует, и один и тот же элемент массива не может использоваться дважды. Алгоритмическое решение: public int[] twoSum(int[] nums, int target) {
HashMap<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < nums.length; i++) {
if(map.containsKey(target - nums[i]))
return new int[]{map.get(target - nums[i]), i};
else map.put(nums[i], i);
}
return new int[0];
} Примеры на которых можно проверить:
Example 1:
Input: nums = [2,7,11,15], target = 9
Output: [0,1]
Explanation: Because nums[0