力扣139.单词拆分
创始人
2024-11-11 17:36:02

力扣139.单词拆分

记忆化搜索

  • 从后往前枚举拆分点,如果拆完剩下的在字典中有,就继续dfs前面剩余字符串

  •   class Solution {   public:       bool wordBreak(string s, vector& wordDict) {           int n = s.size();           unordered_set cnt = {wordDict.begin(),wordDict.end()};           vector memo(n,-1);           //dfs的内联函数写法 &&            auto dfs = [&](auto &&dfs,int i)->bool{               if(i<0) return true;               //初始化为-1               if(memo[i] != -1) return memo[i];               bool ok = false;               //枚举拆分点               for(int k=i;k>=0;k--)               {                   string sub = s.substr(k,i-k+1);                   ok = ok || (cnt.contains(sub) && dfs(dfs,k-1));                   if(ok) return memo[i] = true;               }               return memo[i] = false;           };           return dfs(dfs,n-1);       }   }; 

1:1递推

  •       class Solution {       public:           bool wordBreak(string s, vector& wordDict) {               int n = s.size();               unordered_set cnt = {wordDict.begin(),wordDict.end()};               vector f(n+1,false);               f[0] = true;               for(int i=0;i                   bool ok = false;                   for(int k=i;k>=0;k--)                   {                       string sub = s.substr(k,i-k+1);                       ok = ok || (cnt.contains(sub) && f[k]);                       if(ok)                       {                           f[i+1] = true;                           break;                       }                    }               }               return f[n];           }       }; 

相关内容

热门资讯

裸辞做“一人公司”,我后悔了 去年这个时候,一位以色列程序员正在东南亚旅行。他顺手把一个在脑子里转了很久的想法做成了产品,一个让任...
南京建成国内首个Pre-6G试... 4月21日,2026全球6G技术与产业生态大会在南京开幕。全息互动技术展台前,一名远在北京的工作人员...
超梵求职受邀参加“2025抖音... 超梵求职受邀参加“2025抖音巨量引擎成人教育行业生态大会”,探讨分享优质内容传播,服务万千学员。 ...
摩托罗拉Razr 2026(R... IT之家 4 月 22 日消息,摩托罗拉宣布新一代 Razr 折叠手机将于 4 月 29 日在美国发...
库克卸任,特纳斯领航:苹果新纪... 苹果首席执行官蒂姆·库克将卸任,硬件工程主管约翰·特纳斯将接任,苹果公司今天宣布此事。 库克将在夏季...