链接: https://oj.leetcode.com/problems/word-break/
dp[i] 表示s[0~i] 能否分割成dict中的单词
class Solution { public: bool wordBreak(string s,unordered_set<string> &dict) { bool dp[s.length()]; for(int i=0;i<s.length();i++) dp[i]=false; for(int i=0;i<s.length();i++) { if( dict.find(s.substr(0,i+1) )!=dict.end() ) { dp[i]=true; continue; } for(int j=0;j<i;j++) { if( dp[j]&&dict.find( s.substr(j+1,i-j)) !=dict.end() ) { dp[i]=true; break; } } } return dp[s.length()-1]; } };
天下武功,唯快不破
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步