Sort Features by Popularity
给一个features数组, 和一个responses数组, 求responses出现每个feature的次数, 从大到小.
class Solution {
Map<String, Integer> map = new HashMap<>();
public String[] sortFeatures(String[] features, String[] responses) {
for(String f : features) {
map.put(f, 0);
}
for(String r : responses){
String[] strs = r.split(" ");
Set<String> set = new HashSet<>();
for(String s : strs) {
if(map.containsKey(s) && !set.contains(s)){
set.add(s);
map.put(s, map.get(s) + 1);
}
}
}
Arrays.sort(features, (a,b) ->(appearances(b) - appearances(a)));
return features;
}
private int appearances(String s) {
return map.get(s);
}
}