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

网站建设教学视频/网络推广整合平台

网站建设教学视频,网络推广整合平台,推广普通话内容,谷歌网站推广报价一、leetcode139.单词拆分 1.题目描述: 给定一个非空字符串 s 和一个包含非空单词的列表 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。 说明: 拆分时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词…

一、leetcode139.单词拆分

1.题目描述:

给定一个非空字符串 s 和一个包含非空单词的列表 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。

说明:

拆分时可以重复使用字典中的单词。

你可以假设字典中没有重复的单词。

示例 1:

  • 输入: s = "leetcode", wordDict = ["leet", "code"]
  • 输出: true
  • 解释: 返回 true 因为 "leetcode" 可以被拆分成 "leet code"。

示例 2:

  • 输入: s = "applepenapple", wordDict = ["apple", "pen"]
  • 输出: true
  • 解释: 返回 true 因为 "applepenapple" 可以被拆分成 "apple pen apple"。
  • 注意你可以重复使用字典中的单词。

示例 3:

  • 输入: s = "catsandog", wordDict = ["cats", "dog", "sand", "and", "cat"]
  • 输出: false

2.解题思路:

单词就是物品,字符串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了。

4. 确定遍历顺序

题目中说是拆分为一个或多个在字典中出现的单词,所以这是完全背包。本题其实我们求的是排列数,强调物品之间顺序。所以说,本题一定是外层遍历背包,内层遍历物品。

5. 举例推导dp[i]

代码如下:

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()];}
};
  • 时间复杂度:O(n^3),因为substr返回子串的副本是O(n)的复杂度(这里的n是substring的长度)
  • 空间复杂度:O(n)
http://www.jmfq.cn/news/5000059.html

相关文章:

  • 做网站税费/seo外包公司报价
  • 手表网站大全/成人职业技术培训学校
  • 苏州网站建设公司电话/跨境电商平台注册开店流程
  • 东莞建设网站费用/电商详情页模板免费下载
  • 西宁的网站设计/seo优化首页
  • 上海网站开发建设电话/100个常用的关键词
  • 谷德室内设计网/google seo优化
  • 网站在线考试答题系统怎么做/免费b站在线观看人数在哪儿
  • 民治做网站联系电话/合肥seo整站优化网站
  • 网站设计程序/网络推广怎么做?
  • 网站建设平台方案/怎么开通百度推广账号
  • 潍坊人才招聘网/杭州seo全网营销
  • asp.net做网站的流程/静态网页制作
  • 做网站来钱快/网店推广的渠道有哪些
  • 做药的文献一般在哪些网站查找/关键词优化精灵
  • 自适应网站的图做多大 怎么切/关键字挖掘机爱站网
  • 做音乐网站的目地/中国足彩网竞彩推荐
  • 福州工厂网站建设定制服务/专业做网站设计
  • c web网站开发浏览器/广州网站制作公司
  • 投放广告网站/宁波营销型网站建设优化建站
  • 开网站做商城怎么样/哪里可以接广告
  • 长春网站建设seo/百度搜索大数据查询
  • 网站收录申请/百度搜索什么关键词排名
  • wap手机网站建设公司/沈阳网站优化
  • 做王境泽表情的网站/网店搜索引擎优化的方法
  • 个人网站需要买服务器吗/广州专门做seo的公司
  • 国内python 做的网站/东莞谷歌推广公司
  • 大丰哪家专业做网站/商业软文
  • 合肥瑶海区网站建设价格/百度平台商家我的订单查询
  • 比较好看的网站设计/百度app营销软件