Count Items Matching a Rule
给一个数组, 里面是颜色,类别和名字, 求找到有多少个满足条件的物品.
class Solution {
public int countMatches(List<List<String>> items, String ruleKey, String ruleValue) {
Map<String, Integer> type = new HashMap<>();
Map<String, Integer> color = new HashMap<>();
Map<String, Integer> name = new HashMap<>();
for(int i = 0; i < items.size(); i++){
List<String> item = items.get(i);
type.put(item.get(0), type.getOrDefault(item.get(0), 0) + 1);
color.put(item.get(1), color.getOrDefault(item.get(1), 0) + 1);
name.put(item.get(2), name.getOrDefault(item.get(2), 0) + 1);
}
if(ruleKey.equals("type")){
return type.getOrDefault(ruleValue, 0);
} else if(ruleKey.equals("color")) {
return color.getOrDefault(ruleValue, 0);
} else{
return name.getOrDefault(ruleValue, 0);
}
}
}