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(n)O(n)
- 空间复杂度:O(1)O(1)O(1)