LeetCode之Word Break

来源:互联网 发布:windows exe elf 编辑:程序博客网 时间:2024/06/05 04:07
/*动态规划法。设dp[i]表示s[0...i]是否满足题意,则有dp[i] = {dp[k] && s.substr(k, i-k)}(k=0...i-1,有一个为真即可)。*/class Solution {public:    bool wordBreak(string s, unordered_set<string>& wordDict) {        if(s.empty()) return true;        vector<int> dp(s.size()+1, 0);dp[0] = 1;        for(int i = 1; i <= s.size(); ++i){            for(int k = i-1; k >= 0; --k){                if(dp[k] && wordDict.find(s.substr(k, i-k)) != wordDict.end()){                    dp[i] = 1;                    break;                }            }        }        return dp[s.size()];    }};

0 0
原创粉丝点击