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