Итак, я подхожу к этому, как FirstElements + SecondElement = Target , затем SecondElement = Target - FirstElement . Мысль здесь заключается в том, что если эта цель - FirstElement находится в массиве, то сумма есть, поэтому я возвращаю True Else False.
ОК, теперь я решаю эту проблему в Java с помощью HashMap. Здесь я храню ключи -> Элементы и значения массива -> Target - FirstEment, а затем проверяю, находятся ли элемент массива в значениях (Target - SecondElement). < /P>
Согласно моей мысли, Если это присутствует, то истина иначе false (это моя логика). < /p>
Проблема здесь в некоторых случаях, я получаю вывод: true, но правильный результат будет выводим: false. Я не понимаю, где это идет не так и почему?
Код: Выделить всё
class Solution {
boolean twoSum(int arr[], int target) {
int n=arr.length;
if(n
Подробнее здесь: [url]https://stackoverflow.com/questions/79405207/why-do-we-always-check-keys-instead-of-values-in-a-hashmap[/url]
Мобильная версия