完全背包问题 发表于 2020-08-02 | 分类于 算法 字数统计: 1.7k | 阅读时长 ≈ 7 1 问题描述给定一个容量为V的背包和N种物品,每种物品有无限个可用,第i件物品的重量是c[i],收益是w[i],求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大 2 贪心策略预处理首先需要对可以放进背包的物品进行一个预处理.根据贪心策略,对于两件物品i和j,如果c[i]&g ... 阅读全文 »
518.零钱兑换Ⅱ 发表于 2020-08-02 | 分类于 算法 字数统计: 1.1k | 阅读时长 ≈ 4 题目描述给定不同面额的硬币和一个总金额。写出函数来计算可以凑成总金额的硬币组合数。假设每一种面额的硬币有无限个。 示例 1: 1234567输入: amount = 5, coins = [1, 2, 5]输出: 4解释: 有四种方式可以凑成总金额:5=55= ... 阅读全文 »
416.分割等和子集 发表于 2020-08-02 | 分类于 算法 字数统计: 1.3k | 阅读时长 ≈ 5 题目描述给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 注意: 每个数组中的元素不会超过 100 数组的大小不会超过 200 示例 1: 12345输入: [1, 5, 11, 5]输出: true解释: 数组可以分割成 [1, 5, 5] 和 [1 ... 阅读全文 »
0-1背包问题 发表于 2020-08-02 | 分类于 算法 字数统计: 1.9k | 阅读时长 ≈ 7 给你一个可装载重量为W的背包和N个物品,每个物品有重量和价值两个属性。其中第i个物品的重量为wt[i],价值为val[i],现在让你用这个背包装物品,最多能装的价值是多少? 举个简单的例子,输入如下: 123N = 3, W = 4wt = [2, 1, 3]val & ... 阅读全文 »
300.最长上升子序列 发表于 2020-08-02 | 分类于 算法 字数统计: 662 | 阅读时长 ≈ 2 题目描述给定一个无序的整数数组,找到其中最长上升子序列的长度。 示例: 123输入: [10,9,2,5,3,7,101,18]输出: 4 解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。 说明: 可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。 你算法的时间复 ... 阅读全文 »
494.目标和 发表于 2020-08-02 | 分类于 算法 字数统计: 399 | 阅读时长 ≈ 1 题目描述给定一个非负整数数组,a1, a2, …, an, 和一个目标数,S。现在你有两个符号 + 和 -。对于数组中的任意一个整数,你都可以从 + 或 -中选择一个符号添加在前面。 返回可以使最终数组和为目标数 S 的所有添加符号的方法数。 示例: 1234567891011输入:nums: [1 ... 阅读全文 »
322.零钱兑换 发表于 2020-07-31 | 分类于 算法 字数统计: 334 | 阅读时长 ≈ 1 题目描述给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 示例 1: 123输入: coins = [1, 2, 5], amount = 11输出: 3 解释: ... 阅读全文 »
jz1001.斐波那契数列 发表于 2020-07-31 | 分类于 算法 字数统计: 253 | 阅读时长 ≈ 1 题目描述写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下: 12F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1. 斐波那契数列由 0 和 1 开始, ... 阅读全文 »
76.最小覆盖子串 发表于 2020-07-30 | 分类于 算法 字数统计: 907 | 阅读时长 ≈ 3 题目描述给你一个字符串 S、一个字符串 T,请在字符串 S 里面找出:包含 T 所有字符的最小子串。示例:输入: S = “ADOBECODEBANC”, T = “ABC”输出: “BANC” 说明 如果 S 中不存这样的子串,则返回空字符串 “”。 如果 S 中存在这样的子串,我们保证它是唯一 ... 阅读全文 »
283.移动零 发表于 2020-07-30 | 分类于 算法 字数统计: 335 | 阅读时长 ≈ 1 题目描述给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 12输入: [0,1,0,3,12]输出: [1,3,12,0,0] 说明: 必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。 题解一次遍历我们使用两个指针i和j,只要n ... 阅读全文 »