Google Interview Question
Country: United States
private static int maxInterestProd(List<Integer> friendFrom, List<Integer> friendTo, List<Integer> weight, Integer friendCount) {
Map<Integer, List<Integer>> interestMap = new HashMap<>();
List<Integer> temp;
int maxsize = -1;
Set<Integer> maxInterest = new HashSet<>();
for(int i = 0; i < friendFrom.size(); i++) {
if(interestMap.containsKey(weight.get(i))) {
temp = interestMap.get(weight.get(i));
} else {
temp = new LinkedList<>();
}
temp.add(friendFrom.get(i));
temp.add(friendTo.get(i));
interestMap.put(weight.get(i), temp);
if(temp.size() > maxsize) {
maxInterest = new HashSet<>();
maxInterest.add(weight.get(i));
maxsize = temp.size();
} else if(temp.size() == maxsize) {
maxInterest.add(weight.get(i));
}
}
int totalMax = 0;
for(Integer mi : maxInterest) {
List<Integer> node = interestMap.get(mi);
int t = 0;
for(int i = 0; i < node.size() - 1; i+= 2) {
if(t < node.get(i) * node.get(i+1)) {
t = node.get(i) * node.get(i+1);
}
}
if(t > totalMax) {
totalMax = t;
}
}
return totalMax;
}
Loda nhi jetega tu CONTEST
- yoyo January 25, 2018