博客
关于我
leetcode之统计匹配检索规则的物品数量(C++)
阅读量:165 次
发布时间:2019-02-28

本文共 857 字,大约阅读时间需要 2 分钟。

参考链接

  1. https://leetcode-cn.com/problems/count-items-matching-a-rule/

题目描述

给你一个数组 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
>& items, string ruleKey, string ruleValue) { unordered_map
mp; mp["type"] = 0; mp["color"] = 1; mp["name"] = 2; int res = 0; for (int i = 0; i < items.size(); i ++) { if (items[i][mp[ruleKey]] == ruleValue) { res ++; } } return res; }};

转载地址:http://hoxj.baihongyu.com/

你可能感兴趣的文章
NETSH WINSOCK RESET这条命令的含义和作用?
查看>>
netstat kill
查看>>
netstat命令用法详解
查看>>
Netstat端口占用情况
查看>>
Netty 4的内存管理:sun.misc.Unsafe
查看>>
Netty channelRegistered\ChannelActive---源码分析
查看>>
Netty NIO transport && OIO transport
查看>>
Netty WebSocket客户端
查看>>
netty 主要组件+黏包半包+rpc框架+源码透析
查看>>
Netty 异步任务调度与异步线程池
查看>>
Netty 解决TCP粘包/半包使用
查看>>
netty——黏包半包的解决方案、滑动窗口的概念
查看>>
Netty中使用WebSocket实现服务端与客户端的长连接通信发送消息
查看>>
Netty中实现多客户端连接与通信-以实现聊天室群聊功能为例(附代码下载)
查看>>
Netty中的组件是怎么交互的?
查看>>
Netty中集成Protobuf实现Java对象数据传递
查看>>
netty之 定长数据流处理数据粘包问题
查看>>
Netty事件注册机制深入解析
查看>>
netty代理
查看>>
Netty入门使用
查看>>