Поиск суммы ключей внутри ArrayList (Java) - PullRequest
0 голосов
/ 11 мая 2018

Мне нужно искать, если внутри моего ArrayList есть сумма ДВУХ чисел, которые соответствуют заданному числу X, переданному методу.

У меня есть эти числа в двух разных файлах - один содержит числа идругие ключи.

Что я делаю:

- заполняю 2 разных ArrayList этими числами

- сортируем один по номерам, по которым я должен искать сумму, такон упорядочен

, и тогда я не знаю, как проверить, является ли данный ключ суммой двух чисел, содержащихся в списке массивов.Любое предложение?Я публикую часть своего кода, только последнюю попытку.

Здесь я сортирую ArrayList и вызываю метод elementIsContained в нем, передавая "sums.get (i)", то есть число, которое я должен искать внутри другогоArrayList.

 case "-a":
            buffer.mergeSort(arrList, 0, arrList.size()-1);
            for(int i=0; i < sums.size(); i++){
            elementIsContained(arrList, 0, arrList.size()-1, sums.get(i) );
            }
            break;

и затем я пытался найти сумму двудольным образом, но я не знаю, как суммировать все комбинации, чтобы найти ключ

, о котором я думализбегайте поиска предметов, превышающих ключ, и поиска других, но ... я не знаю, у меня нет идей!

1 Ответ

0 голосов
/ 11 мая 2018

Посмотрим поток операций (одно из возможных решений)

  1. Инициализируйте HashSet SET, вставьте все числа из списка, содержащего числа, в SET.

  2. запустить цикл и повторить список, содержащий ключи. Таким образом, для каждой итерации у вас есть ключ.

  3. if (Set.contains (Sum-KEY), то у вас есть комбинация из 2 чисел, такая, что сумма равна KEY.
...