当前位置: 首页 > article >正文

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

在这个问题中,我们被要求统计一个物品数组中满足特定检索规则的物品数量。每个物品由其类型、颜色和名称定义,而检索规则由规则键和规则值指定。我们的任务是找出数组中满足这些规则的物品数量。

问题描述

解题思路

  1. 定义索引映射:首先,我们需要定义一个映射,将规则键("type"、"color"、"name")映射到物品数组中对应的索引(0、1、2)。

  2. 遍历物品数组:然后,我们遍历物品数组,对于每个物品,检查其是否满足给定的检索规则。

  3. 匹配规则:根据规则键,我们检查物品的相应属性是否与规则值匹配。

  4. 统计匹配数量:如果物品满足规则,我们增加匹配计数。

代码实现

#include <vector>
#include <string>
#include <unordered_map>
using namespace std;

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;
        int index = keyToIndex[ruleKey]; // 根据规则键获取对应的索引

        for (auto& item : items) {
            if (item[index] == ruleValue) {
                count++;
            }
        }

        return count;
    }
};

代码解释

  1. 定义索引映射:使用 unordered_map 将规则键映射到物品数组中的索引。

  2. 初始化计数器count 用于记录匹配规则的物品数量,初始值为0。

  3. 获取索引:根据 ruleKey 获取对应的索引。

  4. 遍历物品数组:使用 for 循环遍历 items 数组中的每个物品。

  5. 检查匹配:对于每个物品,检查其相应属性是否与 ruleValue 匹配。

  6. 更新计数:如果物品匹配规则,增加 count 的值。

  7. 返回结果:遍历完成后,返回 count,即匹配规则的物品数量。


http://www.kler.cn/a/507077.html

相关文章:

  • @Query(org.springframework.data.jpa.repository.Query)
  • STM32网络通讯之CubeMX实现LWIP项目设计(十五)
  • 处理 SQL Server 中的表锁问题
  • 【大数据】机器学习-----模型的评估方法
  • 【25考研】西南交通大学软件工程复试攻略!
  • 简单组合逻辑
  • 【docker踩坑记录】
  • @Scope(“prototype“)
  • 网络安全面试题汇总(个人经验)
  • 安装 Docker GPU 版本的过程及遇到的坑
  • ubuntu开机自启某个应用
  • 《机器学习》自然语言处理之TF-IDF
  • 实力认证 | 海云安入选《信创安全产品及服务购买决策参考》
  • 新质生产力与数字化转型
  • 【Go】Go数据类型详解—数组与切片
  • mac 安装 node
  • 需求驱动的具身导航!DDN:基于用户需求的目标导航任务
  • 镭速大文件传输视频文件预览实现原理
  • Oracle保留小数点后两位
  • 基于FPGA的多功能数字钟设计
  • 获取当前页面的url相关信息
  • 万物互联的背后:MCU嵌入式硬件的奇幻之旅
  • 理解CPU负载与使用率
  • Java语言的数据结构
  • 电力场景红外测温图像绝缘套管分割数据集labelme格式2436张1类别
  • C++ QT 自绘呼吸灯