Запрещение задачи:
Я работаю над проблемой, когда мне нужно найти количество пар ((i, j)) такого, что: < /p>- (i
(a + a [j] = 2^x) где ( x) является целым числом.
Поскольку ответ может быть большим, его следует возвращать модулю (10^9 + 7). ограничения: < /strong> < /h4>
- (1
Что не так с моим подходом? Br /> Любая помощь будет высоко оценена! > Hashmap для хранения частоты элементов и итерированных над уникальными элементами, чтобы проверить, существует ли их дополнение (которая образует 2 сумму).
Вот моя реализация:
import java.io.*;
import java.util.*;
public class Solution {
public static int twiceMatch(Integer[] A) {
long MOD = 1000000007;
HashMap mp = new HashMap();
for (int i = 0; i < A.length; i++) {
mp.put(A, mp.getOrDefault(A, 0) + 1);
}
long cnt = 0;
for (Map.Entry entry : mp.entrySet()) {
int key = entry.getKey();
int closePower = 1;
while (closePower
Подробнее здесь: https://stackoverflow.com/questions/793 ... matching-2