一开始用了dfs超时了,后来用了dp ok了,dp i 代表前i个数是否可以分
class Solution {public: bool WordBreak(string s, unordered_set<string>& wordDict) { if(s.size() == 0) return false; vector<int>dp(s.size() + 1, 0); dp[0] = 1; for(int i = 1; i <= s.size(); ++ i){ for(int j = 0; j < i; ++ j){ if(dp[j] && wordDict.find(s.substr(j, i - j)) != wordDict.end()){ dp[i] = 1; break; } } } return dp[s.size()]; }};新闻热点
疑难解答