LeetCode 5689. 统计匹配检索规则的物品数量

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

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

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

ruleKey == “type” 且 ruleValue == typei 。
ruleKey == “color” 且 ruleValue == colori 。
ruleKey == “name” 且 ruleValue == namei 。
统计并返回 匹配检索规则的物品数量 。

创建一个ruleKey到下标的映射,然后遍历即可:

class Solution {
    
    
public:
    int countMatches(vector<vector<string>>& items, string ruleKey, string ruleValue) {
    
    
        unordered_map<string, int> keyToIndex = {
    
    {
    
    "type", 0}, {
    
    "color", 1}, {
    
    "name", 2}};
        
        int count = 0;
        for (vector<string> &svec : items) {
    
    
            if (svec[keyToIndex[ruleKey]] == ruleValue) {
    
    
                ++count;
            }
        }
        return count;
    }
};

猜你喜欢

转载自blog.csdn.net/tus00000/article/details/114240361