add
This commit is contained in:
parent
419335158e
commit
a70a16e730
38
5.leetcode/src/com/fanxb/common/Q1711.java
Normal file
38
5.leetcode/src/com/fanxb/common/Q1711.java
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
package com.fanxb.common;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 两数相加
|
||||||
|
*
|
||||||
|
* @author fanxb
|
||||||
|
* @date 2021/6/1
|
||||||
|
**/
|
||||||
|
public class Q1711 {
|
||||||
|
|
||||||
|
public int countPairs(int[] deliciousness) {
|
||||||
|
int maxValue = 0;
|
||||||
|
for (int item : deliciousness) {
|
||||||
|
if (item > maxValue) {
|
||||||
|
maxValue = item;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Map<Integer, Integer> numCountMap = new HashMap<>(deliciousness.length);
|
||||||
|
double val = Math.pow(10, 9) + 7;
|
||||||
|
long count = 0;
|
||||||
|
for (int num : deliciousness) {
|
||||||
|
for (int a = 1; a <= maxValue*2; a <<= 1) {
|
||||||
|
count += numCountMap.getOrDefault(a - num, 0);
|
||||||
|
}
|
||||||
|
numCountMap.put(num, numCountMap.getOrDefault(num, 0) + 1);
|
||||||
|
}
|
||||||
|
return (int) (count % val);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
System.out.println(new Q1711().countPairs(new int[]{1, 3, 5, 7, 9}));
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user