关注
public class Main {
public static void main(String[] args) {
ArrayList<Integer> inputs = new ArrayList<Integer>();
Scanner in = new Scanner(System.in);
String str = in.nextLine();
String pattern=in.nextLine();
System.out.println(resolve(str, pattern));
in.close();
}
// write your code here
public static int resolve(String str,String pattern) {
if(!pattern.contains("*"))
return match(str,pattern);
boolean dp[][]=new boolean[str.length()+1][pattern.length()+1];
for(int i=1;i<dp.length;i++){
for(int j=1;j<dp[0].length;j++){
dp[i][j]=false;
}
}
dp[0][0]=true;
for(int i=1;i<=str.length();i++){
for(int j=1;j<=pattern.length();j++){
char s=str.charAt(i-1);
char p=pattern.charAt(j-1);
if(dp[i-1][j-1]&&(s==p||p=='?'||p=='*'))
dp[i][j]=true;
else{
if(dp[i-1][j]&&p=='*')
dp[i][j]=true;
}
}
}
/*for(int i=0;i<dp.length;i++){
for(int j=0;j<dp[0].length;j++){
System.out.print(dp[i][j]+" ");
}
System.out.println();
}*/
return dp[str.length()][pattern.length()]?1:0;
}
/**
* 检验不含*的pattern
* @param str
* @param patter
* @return
*/
public static int match(String str,String pattern){
if(str.length()!=pattern.length())
return 0;
for(int i=0;i<str.length();i++){
if(str.charAt(i)!=pattern.charAt(i)&&pattern.charAt(i)!='?')
return 0;
}
return 1;
}
}
查看原帖
点赞 2
相关推荐
点赞 评论 收藏
分享
05-07 17:58
门头沟学院 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 写给毕业5年后的自己 #
6253次浏览 118人参与
# 你的秋招第一场笔试是哪家 #
128088次浏览 1394人参与
# 华泰证券Fintech星战营 #
189406次浏览 246人参与
# 职场捅娄子大赛 #
330310次浏览 3337人参与
# 今年形式下双非本找得到工作吗 #
132247次浏览 1002人参与
# 一人一个landing小技巧 #
63560次浏览 991人参与
# 材料专业就业可以去哪些企业岗位 #
32679次浏览 314人参与
# 硬件应届生薪资是否普遍偏低? #
69981次浏览 506人参与
# 机械人的薪资开到多少,才适合去? #
107543次浏览 445人参与
# 你的论文盲审过了没? #
102964次浏览 1468人参与
# 国央企笔面经互助 #
130360次浏览 1083人参与
# 制造业的秋招小结 #
87917次浏览 1605人参与
# 毕业季等于分手季吗 #
21512次浏览 277人参与
# 哪些公司笔/面试难度大? #
2345次浏览 19人参与
# 机械制造秋招总结 #
51014次浏览 494人参与
# 计算机专业还有必要去大厂卷吗 #
22152次浏览 115人参与
# 好好告别我的学生时代 #
55561次浏览 979人参与
# 毕业后不工作的日子里我在做什么 #
173425次浏览 1524人参与
# 如果再来一次,你还会学硬件吗 #
123010次浏览 1400人参与
# 毕业租房也有小确幸 #
110758次浏览 4338人参与
# 海信求职进展汇总 #
65894次浏览 364人参与