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

国外可以做会员网站的网站在线课堂网站开发

国外可以做会员网站的网站,在线课堂网站开发,wordpress被植入广告插件,开源网站后台Day30 OK#xff0c;今日份的打卡#xff01;第三十天 以下是今日份的总结最后一块石头的重量 II目标和一和零 以下是今日份的总结 1049 最后一块石头的重量 II 494 目标和 474 一和零 今天的题目难度不低#xff0c;掌握技巧了就会很简单#xff0c;尽量还是写一些简洁代… Day30 OK今日份的打卡第三十天 以下是今日份的总结最后一块石头的重量 II目标和一和零 以下是今日份的总结 1049 最后一块石头的重量 II 494 目标和 474 一和零 今天的题目难度不低掌握技巧了就会很简单尽量还是写一些简洁代码 ^ _ ^ 最后一块石头的重量 II 思路 1.确定dp数组以及下标的含义 ------ dp[j]表示容量这里说容量更形象其实就是重量为j的背包最多可以背最大重量为dp[j]。 2.确定递推公式 ------01背包的递推公式为dp[j] max(dp[j], dp[j - weight[i]] value[i]); ------本题 dp[j] max(dp[j], dp[j - stones[i]] stones[i]); 3.dp数组如何初始化 ------因为重量都不会是负数所以dp[j]都初始化为0就可以了 4.确定遍历顺序 ------如果使用一维dp数组物品遍历的for循环放在外层遍历背包的for循环放在内层且内层for循环倒序遍历 5.举例推导dp数组 值得注意的是 最后dp[target]里是容量为target的背包所能背的最大重量。 在计算target的时候target sum / 2 因为是向下取整所以sum - dp[target] 一定是大于等于dp[target]的。 那么相撞之后剩下的最小石头重量就是 (sum - dp[target]) - dp[target]。 //二维dp数组实现int lastStoneWeightII(vectorint stones) {vectorintdp(15001,0);int sum 0;//这堆石头的总重量for(int i 0;istones.size();i) sum stones[i];int target sum / 2;//遍历物品for(int i 0;i stones.size(); i){//遍历背包for(int j target ; jstones[i];j--){//不放石头和放石头 中 取最大值 dp[j] max(dp[j],dp[j - stones[i]]stones[i]);} }return sum - dp[target] - dp[target];} 目标和 思路 既然为target那么就一定有 left - right target left right sum left (target sum)/2 。 此时问题就转化为装满容量为left的背包有几种方法。 1.确定dp数组以及下标的含义 ------ 填满j包括j这么大容积的包有dp[j]种方法 _ 2.确定递推公式 ------dp[j] dp[j - nums[i]]没弄明白什么意思记住就可以了 _ 3.dp数组如何初始化 ------在初始化的时候dp[0] 一定要初始化为1 _ 4.确定遍历顺序 ------nums放在外循环target在内循环且内循环倒序 _ 5.举例推导dp数组 值得注意的是 dp[j] dp[j - nums[i]]; int findTargetSumWays(vectorint nums, int target) {int sum 0;for(int i 0; i nums.size();i){sum nums[i];}//没有方案if((targetsum)%21||abs(target)sum)return 0;int bagSize (target sum)/2;vectorintdp( bagSize 1,0);dp[0] 1;for(int i 0;inums.size();i){for(int j bagSize;jnums[i];j--){dp[j] dp[j] dp[j-nums[i]];//求组合类问题的公式都是类似这种}}return dp[bagSize];}一和零 思路 本题中strs 数组里的元素就是物品每个物品都是一个 而m 和 n相当于是一个背包两个维度的背包 1.确定dp数组以及下标的含义 ------ dp[i][j]最多有i个0和j个1的strs的最大子集的大小为dp[i][j]。 2.确定递推公式 ------01背包的递推公式为dp[j] max(dp[j], dp[j - weight[i]] value[i]); ------本题strs里的字符串有x个0y个1。 ------所以递推公式dp[i][j] max(dp[i][j], dp[i - x][j - y] 1); ------字符串的x和y相当于物品的重量weight[i]字符串本身的个数相当于物品的价值value[i] 3.dp数组如何初始化 ------01背包的dp数组初始化为0就可以。 ------因为物品价值不会是负数初始为0保证递推的时候dp[i][j]不会被初始值覆盖。 4.确定遍历顺序 ------一定是外层for循环遍历物品内层for循环遍历背包容量且从后向前遍历 5.举例推导dp数组 值得注意的是 这就是一个典型的01背包 只不过物品的重量有了两个维度而已。 int findMaxForm(vectorstring strs, int m, int n) {vectorvectorint dp(m 1, vectorint(n 1, 0)); // 初始化全为0for (string str : strs) {int x 0, y 0;for (char a : str) {if (a 0)//统计当前string的‘0’的个数x;if (a 1)//统计当前string的‘1’的个数y;}for (int i m; i x; i--) {for (int j n; j y; j--) {dp[i][j] max(dp[i][j], dp[i - x][j - y] 1);}}}return dp[m][n];}写在最后 ----OK今日份的博客就写到这里这一期的动态规划好难想明天继续加油 —还没看下期的题但是我的栈还有一节没写 –追不上时间进度了又欠了三天的笑 -️。
http://www.w-s-a.com/news/405068/

相关文章:

  • 苏州网站建设系统方案成都行业网站设计
  • wordpress多说读者墙seo分析师招聘
  • 视频网站开发计划书wordpress文件详情
  • 重庆付费网站推广电商网站 开发周期
  • thinkcmf 做企业网站视频播放类网站建设费用
  • vps网站助手大学选修课网站建设
  • 南浦电商网站建设北京海淀社保网站
  • 传奇网站模板怎么做的吗大连警方最新通告
  • 成都私人做公司网站的北京网站建设需要多少钱
  • 魔客吧是什麼程序做的网站代理厦门网站设计公司
  • 90设计手机站东营网站推广
  • 哪家购物网站建设好专门做水生植物销售网站
  • php医院网站开发兼职app开发网上app开发
  • 接任务做兼职的的网站衡阳手机网站设计
  • 徐州经济开发区网站佛山百度关键词seo外包
  • 肃宁网站建设有限责任公司法人承担什么责任
  • 珠海斗门建设局网站如何免费做网站
  • 自助外贸网站建设可直接打开网站的网页
  • 江苏城嘉建设工程有限公司网站潍坊网站定制公司
  • 四川省住房和城乡建设厅新网站宜昌建设厅网站
  • 建设网站一般流程建设开发网站
  • 设计外贸英文网站国家企业信息信用公信系统
  • 主题资源网站创建时 如何突出设计的特点阿里云是做网站的吗
  • 乌市建设工程质量监督站网站外资公司注册
  • 档案馆网站机房建设做游戏网站打鱼
  • 网站建设平台 创新模式搭建好ftp服务器 如何通过网站访问
  • 苏州集团网站制作设计网页制作软件ai
  • 网站建设新手教程视频教程手帐风格wordpress主题
  • 做投标网站条件网站更改指定字段
  • mvc5 网站开发之美做印刷网站公司