题目:https://www.nowcoder.com/questionTerminal/bab19e5b95b54744aa824e0d7be51487
动态规划,内存超限:
#include <vector>
#include <string>
#include <iostream>
#include <regex>
using namespace std;
bool match(int s_start, string s, string p){
bool is_match = false;
// p或者s为空的话,cin >> p >> s会阻塞,因此p和s不可能为空
// 初始化
vector<vector<bool>> dp(s.size() + 1, vector<bool> (p.size() + 1, false));
dp[0][0] = true;
for(unsigned int j = 1; j <= p.size(); ++j){
dp[0][j] = dp[0][j - 1] && p[j - 1] == '*';
}
// dp主体
for(unsigned int i = 1; i <= s.size(); ++i){
for(unsigned int j = 1; j <= p.size(); ++j){
if(p[j - 1
本文探讨了Shell中的字符串匹配问题,通过分析一道笔试题,讲解了动态规划和递归两种解法。然而,在实际应用中,动态规划可能会导致内存超限,而递归实现则面临效率挑战。
最低0.47元/天 解锁文章
2831

被折叠的 条评论
为什么被折叠?



