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

嘉兴市住房和城乡建设局门户网站申请一个自己的网站

嘉兴市住房和城乡建设局门户网站,申请一个自己的网站,建设网站前的需求分析,网站备案 人工审核day46139.单词拆分1.确定dp数组以及下标的含义2.确定递推公式3.dp数组如何初始化4.确定遍历顺序5.举例推导dp[i]139.单词拆分 题目链接 解题思路:单词就是物品,字符串s就是背包,单词能否组成字符串s,就是问物品能不能把背包装满。…

day46

      • 139.单词拆分
        • 1.确定dp数组以及下标的含义
        • 2.确定递推公式
        • 3.dp数组如何初始化
        • 4.确定遍历顺序
        • 5.举例推导dp[i]

139.单词拆分

题目链接
解题思路:单词就是物品,字符串s就是背包,单词能否组成字符串s,就是问物品能不能把背包装满。

拆分时可以重复使用字典中的单词,说明就是一个完全背包!

动规五部曲分析如下:

1.确定dp数组以及下标的含义

dp[i] : 字符串长度为i的话,dp[i]为true,表示可以拆分为一个或多个在字典中出现的单词。

2.确定递推公式

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

所以递推公式是 if([j, i] 这个区间的子串出现在字典里 && dp[j]是true) 那么 dp[i] = true

3.dp数组如何初始化

从递推公式中可以看出,dp[i] 的状态依靠 dp[j]是否为true,那么dp[0]就是递推的根基,dp[0]一定要为true,否则递推下去后面都都是false了。

那么dp[0]有没有意义呢?

dp[0]表示如果字符串为空的话,说明出现在字典里。

但题目中说了“给定一个非空字符串 s” 所以测试数据中不会出现i为0的情况,那么dp[0]初始为true完全就是为了推导公式。

下标非0的dp[i]初始化为false,只要没有被覆盖说明都是不可拆分为一个或多个在字典中出现的单词。

4.确定遍历顺序

题目中说是拆分为一个或多个在字典中出现的单词,所以这是完全背包。

还要讨论两层for循环的前后顺序。

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

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

做一个总结:

而本题其实我们求的是排列数,为什么呢。 拿 s = “applepenapple”, wordDict = [“apple”, “pen”] 举例。

“apple”, “pen” 是物品,那么我们要求 物品的组合一定是 “apple” + “pen” + “apple” 才能组成 “applepenapple”。

“apple” + “apple” + “pen” 或者 “pen” + “apple” + “apple” 是不可以的,那么我们就是强调物品之间顺序。

所以说,本题一定是 先遍历 背包,再遍历物品。

5.举例推导dp[i]

以输入: s = “leetcode”, wordDict = [“leet”, “code”]为例,dp状态如图:
在这里插入图片描述
dp[s.size()]就是最终结果。
动规五部曲分析完毕,C++代码如下:

class Solution {
public:bool wordBreak(string s, vector<string>& wordDict) {unordered_set<string> wordSet(wordDict.begin(), wordDict.end());vector<bool> dp(s.size() + 1, false);dp[0] = true;for (int i = 1; i <= s.size(); i++) {   // 遍历背包for (int j = 0; j < i; j++) {       // 遍历物品string word = s.substr(j, i - j); //substr(起始位置,截取的个数)if (wordSet.find(word) != wordSet.end() && dp[j]) {dp[i] = true;}}}return dp[s.size()];}
};
http://www.yayakq.cn/news/300123/

相关文章:

  • 网站建设目标规划仓储网站模板
  • 做网站的图片wordpress 插件升级失败
  • 做外贸是在什么网站网站研发费用吗
  • 在线购物网站功能模块自己站网站
  • 装修公司的网站怎么做网站开发需要的所有技术
  • 网页设计的目的google seo是什么意思
  • 温州市手机网站制作哪家好网站信息设计
  • 廊坊网站建设兼职在线响应式网站
  • 中小微企业查询网站想给公司做个网站怎么做的
  • 连云港网站建设培训北京建网站需要多少钱
  • 织梦网站建设选项卡教程深圳做网站的公司有哪些
  • 网站粘性网站设计的目标
  • html5 企业网站模板建德做网站
  • 建设自己公司的网站首页网站建设公司官方网站
  • 网站建设公司郑州百度信息流广告怎么投放
  • 官方网站建设项目询价一般人做不了咨询顾问
  • 宁波网站推广方案去网站做dnf代练要押金吗
  • 建网站的程序残疾人招聘网站建设
  • 功能多的免费网站建设推广 电子商务网站建设
  • 建设工程交流网站php免费网站模板
  • 宁波做网站首推荣盛网络咸阳做网站的
  • 做qq空间动态皮肤网站做demo的网站
  • 诸暨营销型网站设计个人如何注册微信公众号怎么创建
  • 如何打开国外网站wordpress同时使用两个主题
  • 外贸做网站要多久做好wordpress .htaccess在哪里
  • 石狮网站定制wordpress更改固定链接
  • 企业网站的主要类型有国内看网站 优帮云
  • 企业网站发展趋势域名注册网站大全
  • 编写网站用什么语言店铺门头图片
  • 用html做家谱网站代码南平抖音搜索排名seo软件