通配符匹配
给定一个字符串s和一个字符模式p,请实现一个支持'?'和'*'的通配符匹配功能。
其中‘?’可以匹配任何单个字符,如‘a?c’可以成功匹配‘aac’,‘abc’等字符串,但不可匹配‘ac’,‘aaac’等字符串 。
‘*’ 可以匹配任意长度字符串(包括空字符串),如‘a*c’可以成功匹配‘ac’,‘abdc’,‘abc’,‘aaac’等字符串,但不可匹配‘acb’,‘cac’等字符串。
两个字符串完全匹配才算匹配成功。
时间限制:2000
内存限制:262144
输入
输入为一个数字n表示测试字符串与字符模式对数,换行。(n ≤ 30) 后续2n行为每组匹配的s与p,每行字符串后换行。 s 非空,只包含从 a-z 的小写字母。 p 非空,只包含从 a-z 的小写字母,以及字符 ? 和 *。 字符串s和p的长度均小于50
输出
每一组匹配串匹配成功输出‘yes’,否则输出‘no’。
样例输入
3 abc abc abc a*c abc a??c
样例输出
yes yes no
相似题推荐
能量节点
题目描述
数轴上分布着 n 个能量节点,第 i 个节点的坐标为 xi 。
当两个节点的距离小于等于 d 时,会产生能量共鸣。
求一共有多少组节点会发生能量共鸣。
输入格式
第一行,两个整数表示 n 与 d。
第二行,n 个整数,表示 x1,x2,…,xn 。
输出格式
单个整数:表示有多少对点可以会产生能量共鸣。
输入样例
4 25 30 40 10 20
输出样例
5
说明提示
1≤n≤100,000,
1≤d≤1,000,000,000,
1≤xi≤1,000,000,000。
限制
时间限制:1000ms
内存限制:256MiB
已知数组`arr[6] = {2,4,6,8,10,12}`,前缀和数组`preSum[0]=0`,`preSum[i] = arr[0]+arr[1]+…+arr[i-1]`,则区间[2,4](下标从0开始)的元素和为?( )
| A. 18 |
B. 24 |
| C. 30 |
D. 36 |
