当前位置: 首页 > news >正文

平邑建设银行网站/html网页完整代码作业

平邑建设银行网站,html网页完整代码作业,网站制作公司前景,个人网站发布怎么做139. 单词拆分(中等) 思路 首先将大问题分解成小问题: 前 i 个字符的子串,能否分解成单词;剩余子串,是否为单个单词; 动态规划的四个步骤: 确定 dp 数组以及下标的含义 dp[i] 表示 s…

139. 单词拆分(中等)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 思路

    • 首先将大问题分解成小问题:
      • 前 i 个字符的子串,能否分解成单词;
      • 剩余子串,是否为单个单词;
    • 动态规划的四个步骤:
      1. 确定 dp 数组以及下标的含义

        dp[i] 表示 s 的前 i 位是否可以用 wordDict 中的单词表示。

      2. 确定递推公式

        如果 dp[j] == true,且 [j, i] 这个区间的子串出现在字典里,那么 dp[i] 一定是true。

        所以可以确定递推公式:if([j,i] 这个区间的子串出现在字典里 && dp[j] == true) dp[i] = true;

      3. dp 数组初始化

        从递归公式中可以看出, dp[i] 的状态依靠 dp[j] 是否为 true,那么 dp[0] 就是递归的根基,令 dp[0] = true ,因为空字符串一定可以被表示;

      4. 确定遍历顺序

        题目中说是拆分为一个或多个在字典中出现的单词,所以这是完全背包问题,需要讨论两层 for 循环的前后顺序。 本周小结!(动态规划系列五)

        如果求组合数就是外层 for 循环遍历物品,内层 for 循环遍历背包;
        如果求 排序数就是外层 for 循环遍历背包,内层 for 循环遍历物品。

        由于本题要求的是是否都出现过,因此对单词集合里的元素是组合还是排序,并不在意,那么本题使用哪一种方法都可以。

        但本题存在特殊性,因为要求的是子串,所以最好是遍历背包放在外层循环,遍历物品放在内层循环。如果相反的话,需要将所有子串预先放在一个容器里,比较麻烦。

  2. 代码

    class Solution {
    public:bool wordBreak(string s, vector<string>& wordDict) {int n = s.size();unordered_set<string> WordSet(wordDict.begin(), wordDict.end());vector<bool> dp(n+1, false);dp[0] = true; // 初始状态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]){dp[i] = true;}}}return dp[n];}
    };
    
  3. 收获

    • 总感觉之前做过类似的题,不过不是使用动态规划的解法。这道题完全没思路,找了很多题解才明白,最后参考的是代码随想录的解法。
http://www.jmfq.cn/news/5076955.html

相关文章:

  • 制作企业网站步骤/石家庄seo外包的公司
  • win10搭建服务器做网站/百度推广后台管理
  • 巴中城乡和住房建设厅网站/代推广平台
  • 网站备案变更 委托书/爱站网备案查询
  • WordPress注册无需发送邮件/深圳网站关键词优化公司
  • 如何用cms做网站/口碑营销公司
  • 请柬网站开发/推广产品
  • winscp怎么做网站/长沙seo招聘
  • 网站销售的优势/兰州seo
  • 专业外包网站建设公司排名/抖音seo推广外包公司好做吗
  • 高青县住房和城乡建设局网站/seo学校
  • 易派客网站是谁做的/怎么做平台推广
  • 西宁做网站多少钱/代做百度首页排名价格
  • 免费做外贸的网站/北京网站优化专家
  • 做网站公司长沙/一个新手怎么做推广
  • 专业的企业网站优化公司/全网线报 实时更新
  • 做网站现在用什么语言/成都培训机构排名前十
  • python是什么意思/网站优化的主要内容
  • 上海松江区建设局官方网站/双桥seo排名优化培训
  • 建网站中企动力优/2345网址导航 中国最
  • 便宜的网站设计企业/百度网络营销app
  • 眉山 网站开发/西安排名seo公司
  • 域名备案通过后怎么做网站/nba最新排行
  • 花钱做网站/优化关键词步骤
  • 蓝色企业网站/什么是电商平台推广
  • 如何开通网站/windows优化大师和鲁大师
  • 网站建设论团/ip域名查询网站入口
  • 做网站主播要什么条件/如何免费做视频二维码永久
  • 如何做网站友情链接/百度手机卫士下载安装
  • 做网站需要服务器和什么软件/windows优化大师提供的