1. 题目

如果我们可以将小写字母插入模式串 pattern 得到待查询项 query,那么待查询项与给定模式串匹配。(我们可以在任何位置插入每个字符,也可以插入 0 个字符。)

给定待查询列表 queries,和模式串 pattern,返回由布尔值组成的答案列表 answer。只有在待查项 queries[i] 与模式串 pattern 匹配时, answer[i] 才为 true,否则为 false。

示例 1:
输入:queries = ["FooBar","FooBarTest","FootBall","FrameBuffer","ForceFeedBack"], pattern = "FB"
输出:[true,false,true,true,false]
示例:
"FooBar" 可以这样生成:"F" + "oo" + "B" + "ar"。
"FootBall" 可以这样生成:"F" + "oot" + "B" + "all".
"FrameBuffer" 可以这样生成:"F" + "rame" + "B" + "uffer".示例 2:
输入:queries = ["FooBar","FooBarTest","FootBall","FrameBuffer","ForceFeedBack"], pattern = "FoBa"
输出:[true,false,true,false,false]
解释:
"FooBar" 可以这样生成:"Fo" + "o" + "Ba" + "r".
"FootBall" 可以这样生成:"Fo" + "ot" + "Ba" + "ll".示例 3:
输出:queries = ["FooBar","FooBarTest","FootBall","FrameBuffer","ForceFeedBack"], pattern = "FoBaT"
输入:[false,true,false,false,false]
解释:
"FooBarTest" 可以这样生成:"Fo" + "o" + "Ba" + "r" + "T" + "est".提示:
1 <= queries.length <= 100
1 <= queries[i].length <= 100
1 <= pattern.length <= 100
所有字符串都仅由大写和小写英文字母组成。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/camelcase-matching
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 双指针暴力匹配
class Solution {int i, j, ni, nj;
public:vector<bool> camelMatch(vector<string>& queries, string pattern) {nj = pattern.size();vector<bool> ans;for(auto& str : queries)ans.push_back(match(str,pattern));return ans;}bool match(string& str, string& pattern){i=j=0;ni = str.size();while(i < ni && j < nj){if(str[i]==pattern[j]){i++,j++;//相同都移动}else//不相同{if(isupper(str[i]))//字符是大写,匹配不了return false;elsei++;//是小写,往后移动}}if(i < ni)//pattern 匹配完了{while(i < ni)if(isupper(str[i++]))//主串还有大写,错return false;}if(j < nj)//模式串没匹配完,错return false;return true;}
};

LeetCode 1023. 驼峰式匹配(暴力匹配)相关推荐

  1. 【gif图文】KMP算法(从暴力匹配到快速匹配)

    从暴力匹配到快速匹配(KMP算法) 学习kmp算法前,首先要先了解什么是kmp算法,kmp算法具体优点是什么,kmp的主要应用方向在哪. 然后才是,代码实现 带着以上问题,我们来一步一步学习kmp算法 ...

  2. LeetCode精讲题 10正则表达式匹配(动态规划)

    标题 题目描述 递归(超时) 动态规划 结语 题目描述 先点赞再观看.帅哥靓女养成好习惯. 10 正则表达式匹配 给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 '.' 和'*'的正则表达 ...

  3. HDU 5510 Bazinga 暴力匹配加剪枝

    Bazinga Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5510 ...

  4. ac自动机 匹配最长前缀_别再暴力匹配字符串了,高效的KMP,才是真的香

    如果你想了解KMP算法,请静下心读完这篇文章,一定不会辜负你的时间 暴力匹配(BF) 字符串匹配是我们在编程中常见的问题,其中从一个字符串(主串)中检测出另一个字符串(模式串)是一个非常经典的问题,当 ...

  5. 正则双重过滤 /// splitKey1 第一个正则式匹配 /// splitKey2 匹配结果中再次匹配进行替...

    /// <summary>/// 正则双重过滤/// splitKey1 第一个正则式匹配/// splitKey2 匹配结果中再次匹配进行替换/// </summary>// ...

  6. (02)Cartographer源码无死角解析-(50) 2D点云扫描匹配→相关性暴力匹配2:RealTimeCorrelativeScanMatcher2D

    讲解关于slam一系列文章汇总链接:史上最全slam从零开始,针对于本栏目讲解(02)Cartographer源码无死角解析-链接如下: (02)Cartographer源码无死角解析- (00)目录 ...

  7. 暴力匹配与FLANN

    1.暴力匹配与FLANN的匹配时间比较 当ORB特征点为1000时,FLANN慢于暴力匹配,当ORB特征点>=1500时,FLANN时间少于暴力匹配. 特征点数目1000:(以下第一是FLANN ...

  8. LeetCode题库10:正则表达式匹配——JavaScript解答

    题目描述: 给定一个字符串 (s) 和一个字符模式 §.实现支持 '.' 和 '*' 的正则表达式匹配. '.' 匹配任意单个字符. '*' 匹配零个或多个前面的元素. 匹配应该覆盖整个字符串 (s) ...

  9. leetcode题库10--正则表达式匹配

    给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 '.' 和 '*' 的正则表达式匹配. '.' 匹配任意单个字符 '*' 匹配零个或多个前面的那一个元素 所谓匹配,是要涵盖 整个 字符串 ...

最新文章

  1. html编写app页面代码,编写html页面代码需要了解的--综合编
  2. 第28篇 js中let和var
  3. Makefile文件和shell脚本
  4. 利用Hog特征和SVM分类器进行行人检测
  5. Duilib教程-简单介绍
  6. -code vs 1474 十进制转m进制
  7. 用python画统计图表_Python数据科学(九)- 使用Pandas绘制统计图表
  8. 为什么说互联网买菜大概率要凉
  9. 智能优化算法:算术优化算法-附代码
  10. 搭建新环境的准备工作
  11. 红旗H5车机安装软件教程
  12. 斐讯k2p梅林忘记密码恢复出厂之后的解决办法
  13. 蛋白质组学数据分析实践
  14. 计算机桌面文件删除不掉是怎么了,桌面上文件删不掉_桌面上的压缩文件为什么删除不了?...
  15. 世界三大顶级音响_世界十大顶级音响排行榜前十名
  16. 质量功能展开(QFD)的基本原理
  17. 常用药 学着照顾自己和身边的人
  18. 团队-中国象棋游戏-设计文档
  19. 【渝粤教育】广东开放大学财务会计2 形成性考核 (34)
  20. 2020计算机考研985,2020考研:这几所985一个A+学科快来看看吧

热门文章

  1. 苹果应用上架,图片的要求(2017年4月27日)
  2. php copy array,ES6中Array.copyWithin()函数用法的详解
  3. 《跟我一起写Makefile》读书笔记(1)
  4. VUE 入坑系列 一 双向绑定
  5. 解决/WEB-INF目录下的jsp页面引入webRoot下的Js、css和图片的问题
  6. CodeForces - 540D Bad Luck Island —— 求概率
  7. Theano 更多示例
  8. Jquery 实现原理之 Ajax
  9. 最详细的U-BOOT源码分析及移植
  10. 有用的Copy-On-write,写时复制