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

张小明 2026/1/1 0:30:20
网站怎么样做采集别人网站的文章,承接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进行投诉反馈,一经查实,立即删除!

龙岗网站优化培训美食网页制作

Fast GraphRAG是一个能够智能适应你的使用场景、数据和查询需求的知识图谱检索增强生成框架。如果你正在寻找一种既能理解复杂语义关系,又能提供可解释检索结果的智能系统,那么Fast GraphRAG正是你需要的解决方案。它通过动态构建知识图谱,让…

张小明 2025/12/27 11:38:58 网站建设

福建网站优化建设哈尔滨建工建设

前言 在 Selenium 自动化爬虫开发中,页面元素加载时序问题是导致爬虫失败的核心痛点之一。动态页面的元素加载往往依赖 JavaScript 异步请求,若在元素未完全加载时执行定位、点击等操作,会直接触发NoSuchElementException等异常。隐式等待与…

张小明 2025/12/25 22:21:09 网站建设

网站模版免费下载外网视频网站做泥声控

还在为网易云音乐下载的NCM文件无法在其他播放器播放而烦恼吗?今天我要向你推荐一款超实用的NCM文件解密神器——ncmdumpGUI!这款工具能够快速将网易云音乐的专属加密格式转换为通用音频文件,让你的音乐收藏真正实现跨平台播放解决方案。 【免…

张小明 2025/12/27 14:58:39 网站建设

公司网站怎么做教程叶涛网站推广优化

LobeChat灰度放量控制策略 在企业级 AI 应用日益普及的今天,一个看似简单的“聊天界面”背后,往往隐藏着复杂的部署挑战。以 LobeChat 为例,这款开源、可自托管的现代化对话前端,正被广泛用于构建私有化智能助手、内部知识问答系统…

张小明 2025/12/29 17:21:46 网站建设

比较好的 网站统计系统 php源码wampserver装wordpress

文章目录1. package.json1.1. 核心作用1.2. 依赖版本的语义化规则2. package-lock.json2.1. 核心作用2.2. 生成与更新逻辑2.3. 特殊注意事项3. 二者的关系与常见问题3.1. 协作关系3.2. 常见问题与解决方案4. 开发实践建议4.1. 版本符号选择4.2. 依赖安装指令选型4.3. 锁文件的管…

张小明 2025/12/25 22:18:57 网站建设