9.统计匹配检索规则的物品数量【LC1773】
给你一个数组 items ,其中 items[i] = [typei, colori, namei] ,描述第 i 件物品的类型、颜色以及名称。
另给你一条由两个字符串 ruleKey 和 ruleValue 表示的检索规则。
如果第 i 件物品能满足下述条件之一,则认为该物品与给定的检索规则 匹配 :
- ruleKey == "type" 且 ruleValue == typei 。
- ruleKey == "color" 且 ruleValue == colori 。
- ruleKey == "name" 且 ruleValue == namei 。
统计并返回 匹配检索规则的物品数量 。
期待明天的难题doge.jpg
- 思路:遍历每一件物品,将匹配规则对应的属性和规定属性比较,如果相等,则表示匹配,count++
- 实现
class Solution { public int countMatches(List<List<String>> items, String ruleKey, String ruleValue) { int count = 0; for (int i = 0; i < items.size(); i++){ if ("type".equals(ruleKey) && ruleValue.equals(items.get(i).get(0))){ count++; }else if ("color".equals(ruleKey) && ruleValue.equals(items.get(i).get(1))){ count++; }else if ("name".equals(ruleKey) && ruleValue.equals(items.get(i).get(2))){ count++; } } return count; } }
- 复杂度
。时间复杂度:O ( n )
。空间复杂度:O ( 1 )