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

北京响应式网站开发在哪里学广告设计培训

北京响应式网站开发,在哪里学广告设计培训,宁波外贸网站推广,wordpress 七牛oss139.单词拆分 题目链接: 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 求解思路: 单词是物品,字符串s是背包,单词能否组成字符串s,就是问物品能不能把背包装满。 动规五部曲 确定dp数…

139.单词拆分

题目链接:

力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

求解思路:

单词是物品,字符串s是背包,单词能否组成字符串s,就是问物品能不能把背包装满。

动规五部曲

  1. 确定dp数组及其下标含义:字符串长度为i,dp[i] 表示可以字符串可以拆分为一个或多个在字典中出现的单词
  2. 确定递推公式:如果确定dp[j] 是true,且[j, i]这个区间的子串出现在字典里,那么dp[i]一定是true。所以递推公式是 if([j, i] 这个区间的子串出现在字典里 && dp[j]是true) 那么 dp[i] = true
  3. dp数组的初始化:dp[0] = true,递推的根基;其他下表都初始化为false
  4. 确定遍历顺序:本题强调顺序,因此是排列问题,所以先遍历背包,再遍历物品;因为是完全背包,所以正序遍历
  5. 举例推导dp:以输入: s = "leetcode", wordDict = ["leet", "code"]为例,dp状态如图

代码:

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);if (wordSet.find(word) != wordSet.end() && dp[j]){dp[i] = true;}}}return dp[s.size()];}
};

背包总结

背包递推公式

问能否能装满背包(或者最多装多少):dp[j] = max(dp[j], dp[j - nums[i]] + nums[i]); ,对应题目如下:

  • 动态规划:416.分割等和子集(opens new window)
  • 动态规划:1049.最后一块石头的重量 II(opens new window)

问装满背包有几种方法:dp[j] += dp[j - nums[i]] ,对应题目如下:

  • 动态规划:494.目标和(opens new window)
  • 动态规划:518. 零钱兑换 II(opens new window)
  • 动态规划:377.组合总和Ⅳ(opens new window)
  • 动态规划:70. 爬楼梯进阶版(完全背包)(opens new window)

问背包装满最大价值:dp[j] = max(dp[j], dp[j - weight[i]] + value[i]); ,对应题目如下:

  • 动态规划:474.一和零(opens new window)

问装满背包所有物品的最小个数:dp[j] = min(dp[j - coins[i]] + 1, dp[j]); ,对应题目如下:

  • 动态规划:322.零钱兑换(opens new window)
  • 动态规划:279.完全平方数

遍历顺序

01背包

二维dp数组01背包先遍历物品还是先遍历背包都是可以的,且第二层for循环是从小到大遍历。

一维dp数组01背包只能先遍历物品再遍历背包容量,且第二层for循环是从大到小遍历。

完全背包

纯完全背包的一维dp数组实现,先遍历物品还是先遍历背包都是可以的,且第二层for循环是从小到大遍历。

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

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

相关题目如下:

求组合数

  • 动态规划:518.零钱兑换II(opens new window)

求排列数

  • 动态规划:377. 组合总和 Ⅳ (opens new window)
  • 动态规划:70. 爬楼梯进阶版(完全背包)(opens new window)

如果求最小数,那么两层for循环的先后顺序就无所谓了,相关题目如下:

求最小数

  • 动态规划:322. 零钱兑换 (opens new window)
  • 动态规划:279.完全平方数(opens new window)
http://www.yayakq.cn/news/629062/

相关文章:

  • 推广优化排名北京seo运营推广
  • 网站建设工作室简介网址导航网站一键建设
  • 免费网站服务器推荐wordpress公司网站
  • 贵州网站建设营销公司网站弹屏广告怎么做的
  • wordpress网站部署网站备案证书放到哪里
  • 网站建设策划书(建设前的市场分析)微信用网站怎么做
  • 网站整合建设方案网易免费企业邮箱注册
  • 汕头网站建设公司有哪些html网页模板制作
  • .netcore网站开发江西网站优化
  • 网站优化文章怎么做win8 风格网站模板
  • 丽水市住房和城乡建设局网站特色化示范性软件学院
  • 自己做的网页加在网站文章上为什么打不开做360手机网站快速排
  • dtc建站服务wordpress使用用户字体
  • 环保网站建设项目备案系统合肥公司企业网站建设
  • 建设网站的重要意义做网站空间费用是什么意思
  • 企业网站建设数据现状分析广州商城网站建设公司
  • 电影视频网站建设费用济南网站制作哪家专业
  • 青海媒体网站建设公司成都兼职做网站
  • 网站做页游推广实用设计网站推荐
  • 怎样查看网站制作公司创意网红蛋糕
  • 最新站群给个龙做罗拉的网站
  • QQ空间可以建设网站吗东莞长安网站制作
  • 微信平台可以做微网站吗seo公司的选上海百首网络
  • 茂名优化网站建设建设网络强国要有自己的技术
  • 网站空间那个好2023年免费域名推荐
  • 企业网站建设建议wordpress已发布不显示
  • 供求信息网站开发背景海盐建设局网站
  • 贵州能源网站 中企动力建设如何做网站里的子网站
  • 专业做模具钢的网站建设网站所需技术
  • 在哪个网站开发外贸业务开发公司质量管理流程