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

青岛做网站费用深圳建筑企业排名

青岛做网站费用,深圳建筑企业排名,男女做羞羞的视频网站,微网站建设方案书322. 零钱兑换 如果求组合数就是外层for循环遍历物品,内层for遍历背包。 如果求排列数就是外层for遍历背包,内层for循环遍历物品。 钱币有顺序和没有顺序都可以,都不影响钱币的最小个数。 视频讲解:动态规划之完全背包&#xff0…

322. 零钱兑换

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

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

钱币有顺序和没有顺序都可以,都不影响钱币的最小个数

视频讲解:动态规划之完全背包,装满背包最少的物品件数是多少?| LeetCode:322.零钱兑换_哔哩哔哩_bilibili

代码随想录

class Solution {public int coinChange(int[] coins, int amount) {if(amount == 0)return 0;int bagSize = amount;int[] dp = new int[amount + 1];Arrays.fill(dp,Integer.MAX_VALUE);//后面要取最小值,初始值都要设成最大dp[0] = 0;for(int i = 0;i <= bagSize;i++){for(int j = 0;j < coins.length;j++){if(i >= coins[j] && dp[i - coins[j]] != Integer.MAX_VALUE){dp[i] = Math.min(dp[i],dp[i - coins[j]] + 1);//初始值加一会越界}}}if(dp[amount] == Integer.MAX_VALUE)return -1;return dp[amount];}
}

279.完全平方数

279. 完全平方数 - 力扣(LeetCode)

视频讲解:动态规划之完全背包,换汤不换药!| LeetCode:279.完全平方数_哔哩哔哩_bilibili

代码随想录

class Solution {public int numSquares(int n) {int[] dp = new int[n + 1];Arrays.fill(dp,Integer.MAX_VALUE);dp[0] = 0;dp[1] = 1;for(int i = 1;i*i <= n;i++){int s = i * i;for(int j = s;j <= n;j++){if(dp[j - s] != Integer.MAX_VALUE){dp[j] = Math.min(dp[j],dp[j - s] + 1);}}}return dp[n];}
}

139.单词拆分

视频讲解:动态规划之完全背包,你的背包如何装满?| LeetCode:139.单词拆分_哔哩哔哩_bilibili

代码随想录

dp[i]代表,数组元素是否能够组成长度为i时的s

完全背包,正序遍历

对顺序有要求,先背包再物品

递推公式:若前面的字符串可以被组合出来,同时后面的字符串也在数组元素里

int len = word.length();
                if(i >= len && dp[i - len] && set.contains(s.substring(i - len,i))){
                    dp[i] = true;
                    break;
                }

初始化:dp[0] = true;

class Solution {public boolean wordBreak(String s, List<String> wordDict) {Set<String> set = new HashSet<>(wordDict);boolean[] dp = new boolean[s.length() + 1];dp[0] = true;for(int i = 1;i < s.length() + 1;i++){for(String word:set){int len = word.length();if(i >= len && dp[i - len] && set.contains(s.substring(i - len,i))){dp[i] = true;break;}}}return dp[s.length()];}
}

关于多重背包,你该了解这些!

56. 携带矿石资源(第八期模拟笔试)

代码随想录

转化为01背包

import java.util.*;
public class Main{public static void main(String[] args){Scanner sc = new Scanner(System.in);int bagSize,n;bagSize = sc.nextInt();n = sc.nextInt();int[] weight = new int[n];int[] value = new int[n];int[] nums = new int[n];for(int i = 0;i < n;i++)weight[i] = sc.nextInt();for(int i = 0;i < n;i++)value[i] = sc.nextInt();for(int i = 0;i < n;i++)nums[i] = sc.nextInt();int[] dp = new int[bagSize + 1];for(int i = 0;i < n;i++){for(int j = bagSize;j >= weight[i];j--){for(int k = 1;k <= nums[i];k++){if(j >= k * weight[i])dp[j] = Math.max(dp[j],dp[j - k * weight[i]]+ k * value[i]);}}}    System.out.println(dp[bagSize]);}
}

背包问题总结

代码随想录

五部曲:

  1. 确定dp数组(dp table)以及下标的含义
  2. 确定递推公式
  3. dp数组如何初始化
  4. 确定遍历顺序
  5. 举例推导dp数组

背包递推公式

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

问装满背包有几种方法:dp[j] += dp[j - nums[i]] 

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

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

遍历顺序

01背包

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

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

完全背包

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

但是仅仅是纯完全背包的遍历顺序是这样的,题目稍有变化,两个for循环的先后顺序就不一样了。

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

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

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


文章转载自:

http://IcUugR4g.bhbxd.cn
http://2NUU5ewH.bhbxd.cn
http://1q0hnBF8.bhbxd.cn
http://SIJVI3xo.bhbxd.cn
http://PLBT9gO1.bhbxd.cn
http://rKe5jax7.bhbxd.cn
http://arjBlUkw.bhbxd.cn
http://SPeVmhRz.bhbxd.cn
http://43lNX3TW.bhbxd.cn
http://eHIkZGC3.bhbxd.cn
http://S82bKeWY.bhbxd.cn
http://dSRiqZzy.bhbxd.cn
http://l58OHK69.bhbxd.cn
http://IOEkgiZ2.bhbxd.cn
http://o9TjBWQS.bhbxd.cn
http://UYeCs2PC.bhbxd.cn
http://mfmUyxYw.bhbxd.cn
http://kzHSOEaw.bhbxd.cn
http://8vTP4I6h.bhbxd.cn
http://9ecuWBxh.bhbxd.cn
http://CWP9J2qc.bhbxd.cn
http://8A5wv8g7.bhbxd.cn
http://MT5RvS4H.bhbxd.cn
http://r0jths9D.bhbxd.cn
http://xuTqi18p.bhbxd.cn
http://PjWryD9e.bhbxd.cn
http://GV8880Cz.bhbxd.cn
http://EWHIPLqt.bhbxd.cn
http://YxowvOrY.bhbxd.cn
http://4VY4ZR55.bhbxd.cn
http://www.dtcms.com/wzjs/646032.html

相关文章:

  • 郑州树标网站建设技术优化seo
  • html网站建设购物案例搅拌机东莞网站建设技术支持
  • 装饰公司名字起名大全医疗网站建设及优化方案
  • 怎么做二次元网站源码自己电脑做网站好吗
  • 自动采集网站php源码住房城市建设网站
  • 宜昌外贸网站建设优化推广维修网站怎么做
  • 设计师服务平台网站wordpress显示选项取消了吗
  • 南宁软件优化网站建设国家开发银行app下载
  • 企业网站建设算什么费用上海龙华医院的网站建设
  • 做淘客需要用的网站wordpress数据库表管理
  • 网站做seo需要哪些准备点图片跳到网站怎么做的
  • 关键对话呼和浩特企业网站排名优化
  • vue网站开发教程七牛云公司怎么样
  • 福泉市自己的网站中国建筑人才网官网查询
  • 相亲网站的女人 做直播的网站开发会用到的框架
  • 麻城做网站莱芜网站设计
  • 万网有域名怎么建网站网站会员体系方案
  • 网站建设哪个公司比较好百度搜索自己的网站
  • phonegap wordpress东莞市长安镇网站制作优化
  • h5网站建设谷歌排名算法
  • 品牌案例网站中国网站有哪些公司
  • 汉狮做网站公司郑州忻府网站建设排名
  • 仿做网站的网站网站推广的常用途径有哪些
  • 基于营销导向的企业网站建设研究led视频网站建设
  • 东莞寮步二手车市场赣州seo推广
  • 传奇网页版游戏开服表河南网站推广优化
  • 徽文化网站建设方案书手机网站和电脑网站的区别
  • 做魔杖网站手机app界面设计软件
  • 网站正在建设中 英文开发网站多少钱
  • 网站搭建官网莆田专业网站建设公司