网站怎么样做采集别人网站的文章承接app网站开发的广告

张小明 2026/1/11 16:43:12
网站怎么样做采集别人网站的文章,承接app网站开发的广告,网站模版图片,网站会员注册模板518.零钱兑换II 文章讲解/视频讲解 题目描述#xff1a; 给定不同面额的硬币和一个总金额。写出函数来计算可以凑成总金额的硬币组合数。假设每一种面额的硬币有无限个。 示例 1: 输入: amount 5, coins [1, 2, 5]输出: 4 解释: 有四种方式可以凑成总金额: 5552215211…518.零钱兑换II文章讲解/视频讲解题目描述给定不同面额的硬币和一个总金额。写出函数来计算可以凑成总金额的硬币组合数。假设每一种面额的硬币有无限个。示例 1:输入: amount 5, coins [1, 2, 5]输出: 4解释: 有四种方式可以凑成总金额:55522152111511111示例 2:输入: amount 3, coins [2]输出: 0解释: 只用面额2的硬币不能凑成总金额3。示例 3:输入: amount 10, coins [10]输出: 1注意你可以假设0 amount (总金额) 50001 coin (硬币面额) 5000硬币种类不超过 500 种结果符合 32 位符号整数思路本题就很像之前做过的“目标和”都是给出背包容量求装满背包的方法数。但是“目标和”每个元素只能使用一次前面我们介绍过了这是01背包的特征。而本题每种面额的硬币都有无穷个所以这就是之前提到过的完全背包一样来写动态规划五部曲1.确定dp数组及其下标含义dp[i][j]使用 下标为[0, i]的coins[i]能够凑满j包括j这么大容量的包有dp[i][j]种组合方法。2.确定递推公式完全背包递推公式与01背包的区别在于01背包递推公式为:dp[i][j] max(dp[i - 1][j], dp[i - 1][j - weight[i]] value[i])01背包如果放了物品i再取就只能拿物品0到物品i - 1这个范围了物品i拿不了。而完全背包公式为dp[i][j] max(dp[i - 1][j], dp[i][j - weight[i]] value[i])因为有无限个物品我拿完物品i下一次还是能从物品0到物品i的区间里拿。本题的一维dp数组递推公式为dp[j] dp[j - coins[i]]与目标和一致之前讲过这里不再过多赘述3.dp数组的初始化我们要关注的就是dp[0]装满背包容量为0的方法是1即不放任何物品dp[0] 14.确定遍历顺序完全背包的两个for循环随便先后顺序都可以但是本题不行因为本题本质和元素凑成的顺序没多大关系本题描述也是求组合数。假设存在结果221和212如果求的组合数那就只有一种如果是求排列数那么这可就算两种排列了。我们先来看 外层for循环遍历物品钱币内层for遍历背包金钱总额的情况。代码如下for (int i 0; i coins.size(); i) { // 遍历物品 for (int j coins[i]; j amount; j) { // 遍历背包容量 dp[j] dp[j - coins[i]]; } }假设coins[0] 1coins[1] 5。那么就是先把1加入计算然后再把5加入计算得到的方法数量只有{1, 5}这种情况。而不会出现{5, 1}的情况。所以这种遍历顺序中dp[j]里计算的是组合数如果把两个for交换顺序代码如下for (int j 0; j amount; j) { // 遍历背包容量 for (int i 0; i coins.size(); i) { // 遍历物品 if (j - coins[i] 0) dp[j] dp[j - coins[i]]; } }背包容量的每一个值都是经过 1 和 5 的计算包含了{1, 5} 和 {5, 1}两种情况。此时dp[j]里算出来的就是排列数所以一定是先遍历物品再遍历背包容量想不明白就打印数组自己看看5.举例推导dp数组输入: amount 5, coins [1, 2, 5] dp状态图如下最后红色框dp[amount]为最终结果。代码示例function change(amount: number, coins: number[]): number { const dp:number[] new Array(amount 1).fill(0) dp[0] 1 for(let i 0 ; i coins.length; i){ for(let j coins[i]; j amount; j){ dp[j] dp[j - coins[i]] } } return dp[amount] };377.组合总和IV文章讲解/视频讲解题目描述难度中等给定一个由正整数组成且不存在重复数字的数组找出和为给定目标正整数的组合的个数。示例:nums [1, 2, 3]target 4所有可能的组合为 (1, 1, 1, 1) (1, 1, 2) (1, 2, 1) (1, 3) (2, 1, 1) (2, 2) (3, 1)请注意顺序不同的序列被视作不同的组合。因此输出为 7。思路与上题一样的思路但是换成了求排列虽然本题题干说的是求组合但是我们对组合的定义其实是不强调顺序即1,5和5,1算同一个组合但其实算两个不同的排列。1.确定dp数组及其下标含义dp[i]凑成目标正整数为i的排列个数为dp[i]2.确定递推公式之前说过了只要是求装满背包有几种方法一般都是用dp[i] dp[i - nums[j]3.dp数组如何初始化dp[0]一定要初始化为1否则递归其他dp[i]就没有数值基础了其他全部初始化为0避免影响dp[i]累加4.确定遍历顺序上一题求的是组合我们先遍历物品再遍历背包本题求的是排列所以是先遍历背包再遍历物品。5.举例来推导dp数组我们再来用示例中的例子推导一下代码示例function combinationSum4(nums: number[], target: number): number { const dp:number[] new Array(target 1).fill(0) dp[0] 1 for(let i 1; i target; i){ for(let j 0; j nums.length; j){ if(i nums[j]){ dp[i] dp[i - nums[j]] } } } return dp[target] };爬楼梯进阶文章讲解题目描述假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬至多m (1 m n)个台阶。你有多少种不同的方法可以爬到楼顶呢注意给定 n 是一个正整数。输入描述输入共一行包含两个正整数分别表示n, m输出描述输出一个整数表示爬到楼顶的方法数。输入示例3 2输出示例3提示当 m 2n 3 时n 3 这表示一共有三个台阶m 2 代表你每次可以爬一个台阶或者两个台阶。此时你有三种方法可以爬到楼顶。1 阶 1 阶 1 阶段1 阶 2 阶2 阶 1 阶思路其实我们之前就写过一道爬楼梯了力扣上那道是一次只能爬一节或两节本题可以爬1到m任意节其实还是一个完全背包。每次能爬的阶数就是物品楼顶就是背包容量我这次跳了一节下次还能再跳一次一节也就是物品可以重复使用。而问跳到楼顶有几种方法其实不就是问装满背包有几种方法吗1.确定dp数组及其下标含义dp[i]爬到i个台阶的楼顶有dp[i]种方法2.确定递推公式求装满背包有几种方法递推公式一般都是dp[i] dp[i - nums[j]];本题比较特殊dp[i]的来源是dp[i -1],dp[i -2]......也就是dp[i - j]所以递推公式为dp[i] dp[i - j]3.dp数组如何初始化依旧是dp[0]为1其他非零下标全是14.确定遍历顺序这里先上一节再上三节和先上三节再上一节最后都上了四节但是算两种不同的方法前面提到过这种我们称作排列也就是背包容量在外面循环物品在内循环。5.举例推导dp数组与上题基本一致代码示例var climbStairs function (n: number): number { let dp: number[] new Array(n 1).fill(0); dp[0] 1; for (let j 1; j n; j) {//遍历背包 for (let i 1; i 2; i) {//遍历物品 if (j - i 0) dp[j] dp[j] dp[j - i]; } } return dp[n]; }
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

脱贫地区农副产品网络销售平台百度seo关键词优化排名

从仿真到布线:Multisim14与Ultiboard无缝协同的实战路径你有没有遇到过这样的情况?在Multisim14里把电路调得完美无缺,波形漂亮、参数达标,信心满满地点下“Transfer to Ultiboard”——结果却卡在导入环节:元件丢失、…

张小明 2026/1/10 18:20:56 网站建设

网站建站免费做网站免责声明

Excalidraw搜索引擎收录情况检测 在开发者社区中,一个工具的流行程度往往不仅取决于其功能强大与否,更在于它是否“容易被找到”。以 Excalidraw 为例——这款极简风格的开源白板工具,凭借手绘感十足的界面和轻量级协作能力,已成为…

张小明 2026/1/10 18:20:58 网站建设

怎样发掘网站建设的客户八度填写icp备案网站 接入信息

题目简介在足浴行业规范化、精细化运营需求升级的背景下,传统足浴门店管理存在 “预约混乱、技师排班低效、消费结算繁琐” 的痛点,基于 SpringBoot 构建的足浴管理系统,适配单店 / 连锁足浴门店运营场景,实现预约、排班、消费、库…

张小明 2026/1/10 18:20:58 网站建设

黄岩网站建设国外设计教程网站

一、前言 AutoCAD 是由美国 Autodesk(欧特克)公司开发的一款计算机辅助设计(CAD,Computer-Aided Design)软件,广泛应用于建筑、机械、土木工程、电子电气、工业设计等领域。它是全球最知名且应用最广泛的 …

张小明 2026/1/10 18:20:57 网站建设

山西房地产网站建设深圳网站制作需要多少钱

PHP数组与控制流全解析 1. PHP数组基础 数组是将数据集合存储为单个变量的一种方式。可以把数组想象成一个有多个抽屉的柜子,每个抽屉存放一个元素,元素所在的位置被称为“索引”。与大多数编程语言不同,PHP数组的每个元素可以存储任意类型的数据,这使得PHP数组更加灵活,…

张小明 2026/1/10 18:21:01 网站建设

公司制作网站流程国外的技术社区

Mos完整教程:让Mac鼠标滚动体验媲美触控板的终极配置方案 【免费下载链接】Mos 一个用于在 macOS 上平滑你的鼠标滚动效果或单独设置滚动方向的小工具, 让你的滚轮爽如触控板 | A lightweight tool used to smooth scrolling and set scroll direction independentl…

张小明 2026/1/10 18:21:00 网站建设