LeetCode 139 Word Break
阿新 • • 發佈:2018-11-15
problem rdd 方法 eof script for string ++ ret
LeetCode 139. Word Break
我使用的方法是區間DP
class Solution { public: map<string,int> m; int dp[1005][1005]; bool wordBreak(string s, vector<string>& wordDict) { for(int i=0;i<wordDict.size();i++) m[wordDict[i]]=1; memset(dp,0,sizeof(dp)); fun(s); if(dp[0][s.length()-1]==1) return true; else return false; } void fun(string s) { int len=s.length(); for(int l=1;l<=len;l++) { for(int i=0;i+l-1<len;i++) { int j=i+l-1; string s1 = s.substr(i,l); if(m[s1]==1) dp[i][j]=1; else{ for(int k=i;k<j;k++) { if(dp[i][k]==1&&dp[k+1][j]==1) dp[i][j]=1; } } } } } };
LeetCode 139 Word Break