题目描述:
给你一个数组 items ,其中 items[i] = [typei, colori, namei] ,描述第 i 件物品的类型、颜色以及名称。
另给你一条由两个字符串 ruleKey 和 ruleValue 表示的检索规则。
如果第 i 件物品能满足下述条件之一,则认为该物品与给定的检索规则 匹配 :
ruleKey == "type" 且 ruleValue == typei 。
ruleKey == "color" 且 ruleValue == colori 。
ruleKey == "name" 且 ruleValue == namei 。
统计并返回 匹配检索规则的物品数量 。
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/count-items-matching-a-rule
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
解题思路:
解决该题主要要解决的问题就是将每个item中的ruleKey与ruleValue对应起来。
我们只需要通过一个条件判断语句去找到ruleKey对应的列表下表,然后去找对应下表列表的值是否与ruleValue的值相等即可解决问题
代码:
class Solution: def countMatches(self, items: list[list[str]], ruleKey: str, ruleValue: str) -> int: result_items = [] if ruleKey == 'type': idx = 0 elif ruleKey == 'color': idx = 1 elif ruleKey == 'name': idx = 2 else: return result_items for item in items: if item[idx] == ruleValue: result_items.append(item) result = len(result_items) return result