随笔分类 -  贪心法

摘要:题目来源 45. 跳跃游戏 II 题目详情 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i + j] 处: 0 <= j <= nu 阅读全文
posted @ 2023-02-19 22:53 Garrett_Wale 阅读(419) 评论(0) 推荐(0) 编辑
摘要:题目来源 670. 最大交换 题目详情 给定一个非负整数,你至多可以交换一次数字中的任意两位。返回你能得到的最大值。 示例 1 : 输入: 2736 输出: 7236 解释: 交换数字2和数字7。 示例 2 : 输入: 9973 输出: 9973 解释: 不需要交换。 注意: 给定数字的范围是 [0 阅读全文
posted @ 2023-01-24 21:02 Garrett_Wale 阅读(223) 评论(0) 推荐(0) 编辑
摘要:题目来源 55. 跳跃游戏 题目详情 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。 示例 1: 输入: nums = [2,3,1,1,4] 输出: true 解释: 可以先跳 1 步,从下标 阅读全文
posted @ 2022-01-11 20:20 Garrett_Wale 阅读(242) 评论(0) 推荐(0) 编辑
摘要:题目来源 406. 根据身高重建队列 题目详情 假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] = [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。 请你重新构造并返回输 阅读全文
posted @ 2021-12-31 10:00 Garrett_Wale 阅读(57) 评论(0) 推荐(0) 编辑
摘要:剑指 Offer 14- II. 剪绳子 II 题目链接 因为有取模的操作,动态规划中max不能用了,我们观察:正整数从1开始,但是1不能拆分成两个正整数之和,所以不能当输入。 2只能拆成 1+1,所以乘积也为1。 数字3可以拆分成 2+1 或 1+1+1,显然第一种拆分方法乘积大为2。 数字4拆成 阅读全文
posted @ 2020-12-10 20:11 Garrett_Wale 阅读(64) 评论(0) 推荐(0) 编辑
摘要:有钱人买钻石 ECNU-3306 题解:这个题目,乍一看以为是dp背包,可是数据量却那么大,只有1,5,10,25四种面额的硬币,每种数量若干,要使得能够刚好兑换成功总金额,在此前提下,还要使得硬币数量越多越好。我们当然是要让面额小的尽量多使用,但是如果面额小的使用某一值H时,后面可能就无法兑换成功 阅读全文
posted @ 2020-10-06 19:32 Garrett_Wale 阅读(159) 评论(0) 推荐(0) 编辑
摘要:最少拦截系统 "HDOJ 1257" 我做这题的思路就是采用暴力或者贪心。也就是每次循环选出从第一个未被选择的元素开始,依次把后面可以选择的元素作为一个系统。最后统计可以有多少个系统。 还有人的思路就是利用动态规划的思路,求解最长上升子序列,也就是反着题意来求。因为在这个最长上升子序列中,所有的元素 阅读全文
posted @ 2019-10-08 09:52 Garrett_Wale 阅读(83) 评论(0) 推荐(0) 编辑
摘要:Stay Real "HDOJ 6645" 由小根堆的性质可以知道,当前最大的值就在叶节点上面,所以只需要排序后依次取就可以了。 include include include include include using namespace std; int n; long long heap[10 阅读全文
posted @ 2019-08-20 09:20 Garrett_Wale 阅读(88) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示