算法刷题
文章平均质量分 78
Hahaha???
这个作者很懒,什么都没留下…
展开
-
322-零钱兑换II
给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。你可以认为每种硬币的数量是无限的。 当前情况,可以由上一步的选择推得,所以选择动态规划 动态规划四部曲每个硬币可以选择多次,所以属于完全背包问题求组合,对遍历顺序没有要求由于求组合中硬币最少为多少, 所以初始化时非零位初始最大由于此时初始化为最大,所以这里时,需要加个if语句判断下,不然会造成越界出现错误...原创 2022-07-11 17:24:24 · 50 阅读 · 0 评论 -
完全背包基础知识
c++参考链接有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品都有无限个(也就是可以放入背包多次),求解将哪些物品装入背包里物品价值总和最大。完全背包和01背包问题唯一不同的地方就是,每种物品有无限件。同样leetcode上没有纯完全背包问题,都是需要完全背包的各种应用,需要转化成完全背包问题,所以我这里还是以纯完全背包问题进行讲解理论和原理。在下面的讲解中,我依然举这个例子:背包最大重量为4。物品为: 每件商品都有无限个! 问背包能背原创 2022-07-04 11:33:04 · 378 阅读 · 0 评论 -
背包基础知识
面试掌握01背包,和完全背包,就够用了,最多可以再来一个多重背包。完全背包又是也是01背包稍作变化而来,即:完全背包的物品数量是无限的。 有N件物品和一个最多能被重量为W 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。,求解将哪些物品装入背包里物品价值总和最大。 比如:背包重量最大为4物品为: 问背包能背的物品最大价值是多少?这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。 用子问题定义状态:即表示前i件物品恰放入一个容量为j的背包可以获得的最大价值。则其原创 2022-06-17 20:42:15 · 662 阅读 · 0 评论 -
96-不同的二叉搜索树
给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。原创 2022-06-14 15:47:28 · 18 阅读 · 0 评论 -
435-无重叠区间
给定一个区间的集合 intervals ,其中 intervals[i] = [starti, endi] 。返回 需要移除区间的最小数量,使剩余区间互不重叠 。原创 2022-06-12 11:08:05 · 24 阅读 · 0 评论 -
134-加油站
给你一个整数数组 nums 和一个整数 k ,按以下方法修改该数组:选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。 重复这个过程恰好 k 次。可以多次选择同一个下标 i 。以这种方式修改数组后,返回数组 可能的最大和 。.........原创 2022-06-08 16:52:49 · 21 阅读 · 0 评论 -
383-赎金信
文章目录一、题目二、分析三、算法 一、题目 给定一个赎金信 (ransom) 字符串和一个杂志(magazine)字符串,判断第一个字符串 ransom 能不能由第二个字符串 magazines 里面的字符构成。如果可以构成,返回 true ;否则返回 false。 (题目说明:为了不暴露赎金信字迹,要从杂志上搜索各个需要的字母,组成单词来表达意思。杂志字符串中的每个字符只能在赎金信字符串中使用一次。) 二、分析 使用哈希表 采用数组存储 由于都是小写字母 所以采用数组存储即可 大小为26个字符;原创 2021-11-09 17:37:32 · 24 阅读 · 0 评论