LeetCode每日一题——1773. 统计匹配检索规则的物品数量

简介: 给你一个数组 items ,其中 items[i] = [typei, colori, namei] ,描述第 i 件物品的类型、颜色以及名称。

题目

给你一个数组 items ,其中 items[i] = [typei, colori, namei] ,描述第 i 件物品的类型、颜色以及名称。

另给你一条由两个字符串 ruleKey 和 ruleValue 表示的检索规则。

如果第 i 件物品能满足下述条件之一,则认为该物品与给定的检索规则 匹配 :

ruleKey == “type” 且 ruleValue == typei 。

ruleKey == “color” 且 ruleValue == colori 。

ruleKey == “name” 且 ruleValue == namei 。

统计并返回 匹配检索规则的物品数量 。

示例

示例 1:

输入:items =

[[“phone”,“blue”,“pixel”],[“computer”,“silver”,“lenovo”],[“phone”,“gold”,“iphone”]],ruleKey = “color”, ruleValue = “silver”

输出:1

解释:只有一件物品匹配检索规则,这件物品是

[“computer”,“silver”,“lenovo”] 。

示例 2:

输入:items =

[[“phone”,“blue”,“pixel”],[“computer”,“silver”,“phone”],[“phone”,“gold”,“iphone”]],ruleKey = “type”, ruleValue = “phone”

输出:2

解释:只有两件物品匹配检索规则,这两件物品分别是

[“phone”,“blue”,“pixel”] 和 [“phone”,“gold”,“iphone”]

。注意,[“computer”,“silver”,“phone”] 未匹配检索规则。

提示:

1 <= items.length <= 104

1 <= typei.length, colori.length, namei.length, ruleValue.length <= 10

ruleKey 等于 “type”、“color” 或 “name”

所有字符串仅由小写字母组成

思路

将rulekey转换成item[i]的下标0、1、2为index即可将reluvalue和item中的值对应起来了,遍历一遍item,取item[i][index],判断是否等于reluvalue,统计即可。

题解

class Solution:
    def countMatches(self, items: List[List[str]], ruleKey: str, ruleValue: str) -> int:
        ans = 0
        if ruleKey == 'type':
            index = 0
        elif ruleKey == 'color':
            index = 1
        else:
            index = 2
        for i in items:
            if i[index] == ruleValue:
                ans += 1
        return ans
目录
相关文章
|
6月前
|
算法 测试技术 C#
区间合并|LeetCode2963:统计好分割方案的数目
区间合并|LeetCode2963:统计好分割方案的数目
|
2月前
|
Unix Shell Linux
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
本文提供了几个Linux shell脚本编程问题的解决方案,包括转置文件内容、统计词频、验证有效电话号码和提取文件的第十行,每个问题都给出了至少一种实现方法。
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
|
3月前
|
存储 算法 Java
LeetCode初级算法题:反转链表+统计N以内的素数+删除排序数组中的重复项Java详解
LeetCode初级算法题:反转链表+统计N以内的素数+删除排序数组中的重复项Java详解
42 0
|
4月前
|
存储 算法
经典的滑动窗口的题目 力扣 2799. 统计完全子数组的数目(面试题)
经典的滑动窗口的题目 力扣 2799. 统计完全子数组的数目(面试题)
|
6月前
[leetcode~数位动态规划] 2719. 统计整数数目 hard
[leetcode~数位动态规划] 2719. 统计整数数目 hard
|
6月前
|
存储 Java C++
leetcode 2525 根据规则将箱子分类 c++ pyhton java c题解
leetcode 2525 根据规则将箱子分类 c++ pyhton java c题解
37 1
|
6月前
leetcode2376. 统计特殊整数
leetcode2376. 统计特殊整数
52 1
|
6月前
leetcode 2520 统计能整除数字的位数
leetcode 2520 统计能整除数字的位数
24 0
|
6月前
|
算法 测试技术 C#
【图论】【分类讨论】LeetCode3017按距离统计房屋对数目
【图论】【分类讨论】LeetCode3017按距离统计房屋对数目
|
6月前
|
Serverless
leetcode2719. 统计整数数目
leetcode2719. 统计整数数目
45 0