![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
贪心
skymeteorite
这个作者很懒,什么都没留下…
展开
-
leetcode 1402. 做菜顺序
一个厨师收集了他 n 道菜的满意程度 satisfaction ,这个厨师做出每道菜的时间都是 1 单位时间。 一道菜的 「喜爱时间」系数定义为烹饪这道菜以及之前每道菜所花费的时间乘以这道菜的满意程度,也就是 time[i]*satisfaction[i] 。 请你返回做完所有菜 「喜爱时间」总和的最大值为多少。 你可以按 任意 顺序安排做菜的顺序,你也可以选择放弃做某些菜来获得更大的总和。 示例 1: 输入:satisfaction = [-1,-8,0,5,-9] 输出:14 解释:去掉原创 2020-07-28 21:38:00 · 169 阅读 · 0 评论 -
leetcode 300. 最长上升子序列
给定一个无序的整数数组,找到其中最长上升子序列的长度。 示例: 输入: [10,9,2,5,3,7,101,18] 输出: 4 解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。 说明: 可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。 你算法的时间复杂度应该为 O(n2) 。 进阶: 你能将算法的时间复杂度降低到 O(nlogn) 吗? 方法一:动态规划...原创 2019-12-26 23:02:35 · 84 阅读 · 0 评论 -
leetcode 45. 跳跃游戏 II
给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 示例: 输入: [2,3,1,1,4] 输出: 2 解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。 方法:贪心,要求跳跃次数最少,下一...原创 2019-11-06 17:33:08 · 189 阅读 · 0 评论 -
leetcode 55. 跳跃游戏
给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个位置。 示例 1: 输入: [2,3,1,1,4] 输出: true 解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。 示例 2: 输入: [3,2,1,0,4] 输出: false 解释: 无论怎样,...原创 2019-11-04 17:53:13 · 133 阅读 · 0 评论 -
田忌赛马
(http://acm.hdu.edu.cn/game/entry/problem/show.php?chapterid=1§ionid=3&problemid=4) 用贪心思想 先将两人的马排序,我想先让两人的慢马比,若田忌的马比齐王的马快,就让田忌的胜,若比齐王的慢,让田忌的慢马输给齐王的快马,若相等时,不能让他简单的输给齐王的快马,因为田忌的快马若比齐王的快马还快,就不用故意输给他原创 2015-08-11 21:33:59 · 431 阅读 · 0 评论 -
hdu1009
贪心水题,先在nefu上做的,粘到hdu上re,数组应该开大点。#include <iostream> #include <algorithm> #include <stdio.h> using namespace std; struct sa { int f; int j; double awk; }data[4000]; int cmp(const sa &a,const原创 2015-07-11 22:15:58 · 296 阅读 · 0 评论 -
hdu3351括号匹配
贪心 #include #include #include #include #include using namespace std; const int maxn=2005; char s[maxn]; int main() { int cas=1; while(scanf("%s",s)&&s[0]!='-') { int left=0,ans原创 2018-01-21 23:45:16 · 501 阅读 · 0 评论