理解dp[i]是什么意思,理解状态转移方程的转移条件,初始化条件,为什么要这样初始化。
class Solution {
public:
bool wordBreak(string s, vector<string>& wordDict) {
unordered_set<string> wordSet(wordDict.begin(), wordDict.end());
int n = s.size();
bool dp[n+1];
dp[0] = true;
for(int i=1;i<=n;++i) dp[i] =false;
for(int i=1;i<=n;++i){
for(int j=0;j<i;++j){
string word = s.substr(j,i-j);
if(wordSet.find(word) != wordSet.end()&&dp[j]==true){
dp[i]=true;
}
}
}
return dp[n];
}
};