关注
public static boolean isMatch(String s, String p) { int m = s.length(); int n = p.length(); boolean[][] dp = new boolean[m + 1][n + 1]; dp[0][0] = true; for (int i = 1; i <= n; i++) { if (p.charAt(i - 1) == '*') { dp[0][i] = true; } else { break; } } for (int i = 1; i <= m; i++) { for (int j = 1; j <= n; j++) { char ch = s.charAt(i - 1); // 注意:*和?处理的是字母和数字,所以要加判断 if (p.charAt(j - 1) == '*') { dp[i][j] = dp[i][j - 1] || ((dp[i - 1][j] || dp[i - 1][j - 1]) && Character.isLetterOrDigit(ch)); } else if (p.charAt(j - 1) == '?' && Character.isLetterOrDigit(ch) ) { dp[i][j] = dp[i - 1][j - 1]; } else if (s.charAt(i - 1) == p.charAt(j - 1)) { dp[i][j] = dp[i - 1][j - 1]; } } } return dp[m][n]; } public static void main(String[] args) { Scanner in = new Scanner(System.in); while (in.hasNext()) { String pattern = in.nextLine().toLowerCase(); String str = in.nextLine().toLowerCase(); boolean ans = isMatch(str, pattern); System.out.println(ans); } }
点赞
相关推荐
![](https://static.nowcoder.com/fe/file/oss/1715049343797JOCFB.png)
点赞 评论 收藏
分享
![](https://static.nowcoder.com/fe/file/oss/1715049343797JOCFB.png)
点赞 评论 收藏
分享
01-24 14:16
西南财经大学 数据运营 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 读研or工作,哪个性价比更高? #
23986次浏览 323人参与
# 科大讯飞求职进展汇总 #
258827次浏览 2594人参与
# 如果重来一次你还会读研吗 #
154343次浏览 1691人参与
# 秋招感动瞬间 #
10689次浏览 101人参与
# 你最满意的offer薪资是哪家公司? #
11797次浏览 109人参与
# 阿里巴巴创始人马云回国 #
14019次浏览 87人参与
# 文科生还参加今年的春招吗 #
3270次浏览 29人参与
# 长光卫星求职进展汇总 #
27561次浏览 183人参与
# 选择和努力,哪个更重要? #
41858次浏览 471人参与
# 职场新人生存指南 #
195000次浏览 5370人参与
# 打工人的工作餐日常 #
24685次浏览 221人参与
# 招聘要求与实际实习内容不符怎么办 #
40640次浏览 465人参与
# 机械制造岗投递时间线 #
19303次浏览 324人参与
# 机械人选offer,最看重什么? #
68548次浏览 433人参与
# 机械人怎么评价今年的华为 #
180282次浏览 1484人参与
# 影石Insta360求职进展汇总 #
107568次浏览 967人参与
# 如果再来一次,你还会学硬件吗 #
102700次浏览 1232人参与
# 正在实习的你,有转正机会吗? #
336117次浏览 2690人参与
# 如果公司降薪,你会跳槽吗? #
44443次浏览 349人参与
# 滴!实习打卡 #
554120次浏览 6003人参与