[OJ] Wildcard Matching (Hard)

LintCode 192. Wildcard Matching (Hard)
LeetCode 44. Wildcard Matching (Hard)

第二次刷还是被这题虐. 其实就是跪在一个地方, 就是关于mustFail的地方.
*p && !*s的时候, 说明s已经被用完了, p还没有被穷尽, 这种情况下要直接退出所有的递归返回false, 因为s都匹配不完p, 那么s+1, s+2...等字符串更不可能匹配p.

class Solution {
private:bool mustFail = false;
public:bool isMatch(const char *s, const char *p) {if (!s || !p) return false;while (*s && *p && *s == *p || *p == '?') {++s;++p;}if (*p == '*') {while (*p == '*') ++p;if (!*p) return true;do {while (*s && !(*s == *p || *p == '?')) ++s;if (isMatch(s, p)) return true;if (mustFail) return false;++s;} while (*s);return false;}if (*p && !*s) {mustFail = true;}return !*s && !*p;}
};

时间复杂度: O(mn)
空间复杂度: O(1)(不考虑递归堆栈开销)

转载于:https://www.cnblogs.com/7z7chn/p/5215455.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/255919.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSS3 -webkit-transition(属性渐变)

-webkit-transition:CSS属性(none|all|属性) 持续时间 时间函数 延迟时间 CSS属性(transition-property):要变化的属性,比如元素变宽则是width,文字颜色要变色这是color;W3C给出了一个可变换属性的列表:…

vxworks的default boot line说明

boot程序的主要功能是引导vxworks 内核,所以boot程序需要知道vxworks的内核存放在何处,通过什么手段去获取。在vxworks缺省的boot程序里有一条内建的default boot line,它指明了获得vxworks内核的途径,在boot程序启动时,它先寻找NVRAM里面有无…

【机器视觉】——相机和镜头的选择

目录 1、相机选择 2、镜头选择 3、其他计算公式 1)芯片尺寸计算:

React Native中pointerEvent属性

在React Native界面开发中, 如果使用绝对定位布局,在代码运行时的某个时刻有可能会遮盖住它的下方的某个组件。这是因为绝对定位只是说这个组件的位置由它父组件的边框决定。 绝对定位的组件可以被认为会覆盖在它前面布局(JSX代码顺序)的组件的上方. 如果…

Rar Java Zip

http://wolfdream.iteye.com/blog/428588转载于:https://www.cnblogs.com/diyunpeng/p/5218381.html

库卡机器人CELL程序解析

KUKA机器人 CELL程序 解析及注释&ACCESS RVP&REL 4&COMMENT HANDLER on external automaticDEF CELL ( );EXT EXAMPLE1 ( );EXT EXAMPLE2 ( );EXT EXAMPLE3 ( ) ;FOLD INITDECL CHAR DMY[3]DMY[]"---";ENDFOLD (INIT);FOLD BASISTECH INIIR_STOPM ( )…

Ubuntu 16.04服务器安装及软件配置

1.配置静态地址 vim /etc/network/interfaces auto enp1s0 iface enp1s0 inet static address 192.168.1.131 netmask 255.255.255.0auto enp2s0 iface enp2s0 inet static address 192.168.2.131 netmask 255.255.255.0auto enp3s0 iface enp3s0 inet static address 192.168.…

[软件测试airtest软件安装]——填坑

目录 1、安装Python环境(版本问题) 2、连接手机出现连接上了但是无法进行点击 airtest官网: https://airtest.doc.io.netease.com/for_newer/ 关于软件测试刚入门的可以参考进行了解:https://airtest.doc.io.netease.com/tuto…

KUKA 机器人SPS.SUB程序解析

&ACCESS RVO&COMMENT PLC on controlDEF SPS ( );FOLD DECLARATIONS;FOLD BASISTECH DECL;Automatik externDECL STATE_T STAT定义STATE_T类型的变量。该结构为:STRUC STATE_T CMD_STAT RET1, CMD_STAT是枚举类型数据,组成了STATE_…

jquery validate表单验证插件

1 表单验证的准备工作 在开启长篇大论之前,首先将表单验证的效果展示给大家。 1.点击表单项,显示帮助提示         2.鼠标离开表单项时,开始校验元素    3.鼠标离开后的正确、错误提示及鼠标移入时的帮助提醒 对于初学者而言&…

【Python位运算】——左移操作(<<)右移操作>>

目录 左移操作 右移操作 其他博主的理解 应用——力扣题目78. 子集 解法 深度优先搜索 位运算 参考文献 左移操作 # 左移操作&#xff0c;左移一位相当于乘以b&#xff0c;a<<b,a a*(2^b) print(2<<3) # 2*2^3 16&#xff0c;2的二进制10&#xff0c;向…

sql中字段名中包含特殊字符的查询方法

sql中字段名章包含特殊字符的查询方法&#xff1a;例如包含""&#xff0c;student表中字段为&#xff1a;id“学号”、name"姓名"。 解决办法&#xff1a;用英文下的 ""&#xff08;Tab键上面那个键,不需要shift&#xff09;把字段名包起来。如&…

tomcat Server.xml Context配置

有时候需要在tomcat里面做特殊的配置&#xff0c;来进行访问&#xff1a; 例如你的程序 名字是hello端口是80 这时候你要访问你的程序 就要用 localhost/hello 来访问了。 但是怎么直接用 localhost来访问呢&#xff1f;就需要进行tomcat 的配置了呢 看以下配置&#xff1a;to…

绝望,绝望、希望

晚上&#xff0c;经历了一场小小的绝望&#xff0c;因为在论文方面&#xff0c;经过一些实践检验&#xff0c;我发现之前所提出的理论竟然差别太大&#xff0c;这件事情让人感到绝望&#xff0c;但是&#xff0c;也只有被逼继续前行&#xff0c;没有退路&#xff0c;前行才能慢…

【Python数据结构】——二叉查找树(查找、构建、删除、插入、打印)

#!/usr/bin/env python # -*- coding: utf-8 -*- # Time : 2021/7/15 0:34 # Author : linlianqin # Site : # File : 二叉查找树类实现&#xff08;查找、创建、删除、插入、遍历&#xff09;.py # Software: PyCharm # description:class TreeNode:def __init__(s…

ABB RAPID SOCKET编程

相传在2009年6月11日&#xff0c;微博的鼻祖t-w-i-t-t-e-r还没有被封锁的时候&#xff0c;于仁颇黎写了了一个东西可以将staubli机器人在运行时的状态&#xff0c;实时发送上去&#xff0c;可以被实时的查看&#xff0c;任何一个人都可以查看&#xff0c;于是就有了这个名为TWI…

Plupload文件上传组件使用API

Plupload有以下功能和特点&#xff1a; 1、拥有多种上传方式&#xff1a;HTML5、flash、silverlight以及传统的<input type”file” />。Plupload会自动侦测当前的环境&#xff0c;选择最合适的上传方式&#xff0c;并且会优先使用HTML5的方式。所以你完全不用去操心当前…

广告主产品推词中的NLP

加词&#xff0c;加产品&#xff0c;调价是广告主的核心问题&#xff0c;为了解决广告主加词的问题在阿里巴巴以及速卖通的账户后台提供了加词利器——先知&#xff0c;一键解决广告主烦恼&#xff0c;从此不再为加词而忧愁。一 引言 在目前付费搜索引擎中&#xff0c;买词和竞…

Android 动态设置 layout_centerInParent

RelativeLayout.LayoutParams rp new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);rp.addRule(RelativeLayout.CENTER_IN_PARENT);记录一下转载于:https://www.cnblogs.com/IWings/p/6097134.html

tidevice.exceptions.MuxServiceError: Could not start service: com.apple.testmanagerd.lockdown.secure

错误是在进行利用pycharm IDE和airtest框架进行苹果手机自动化测试遇到的 错误具体如下 [I 210715 10:32:34 _device:572] ProductVersion: 14.6 [I 210715 10:32:34 _device:551] Download https://tool.appetizer.io/iGhibli/iOS-DeviceSupport/raw/master/DeviceSupport/14…