贪心算法_Leetcode刷题_7/100
贪心算法
采用贪心策略,保证每次操作是局部最优的,从而使随后结果是全局最优的。
455.分配饼干
- 贪心策略:尽量把最小的饼干分配给胃口最小的孩子。
- 我的代码:

- 算法描述:
- 将孩子的胃口值g和拥有的饼干s进行升序排列;
- 使用双指针对胃口和饼干进行遍历,在胃口和饼干都被遍历完之前(分配完成),为每个胃口匹配能完成它的最小饼干,满足胃口即计数+1,直到退出循环。
135.分糖果
- 贪心策略:在每次遍历中,只考虑并更新一侧的大小关系。
- 官方代码:

- 我的代码:

- 算法描述【我的代码】:
- 将所有孩子的的糖果数初始化为1;
- 先从左往右遍历一遍,如果右边孩子的评分比左边孩子高,则右边孩子的糖果数更新为左边孩子的糖果数+1;
- 再从右往左遍历,如果左边的孩子评分比右边高且左边孩子的糖果数小于等于右边孩子的糖果数,则左边孩子的糖果数更新为右边孩子的糖果数+1.
435.区间问题
- 贪心策略:优先保留结尾小且不相交的区间。
- 官方代码:

- 算法描述:
- 先确定首个区间,应该满足右端点最小;将所有区间按照右端点从小到大进行排序;
- 下一个区间应该满足于首个区间不重合且右端点最小的区间;
- 依次排列,形成最终最优的不重叠区间结果。
Arrays.sort用法
452.用最少数量的箭引爆气球
我的代码:

算法思路:这个题与435.区间问题本质上是同一个问题,将所有气球的区间排列成为最少的不重复区间,包括端点不重复,这样用的箭的数量其实是满足了所有气球都能被引爆的最小值。
605.种花问题
- 我的代码

- 算法描述:判断一个位置是否能够种花,只需要判断这个位置的左右两边是否有位置;对于最开始和最后的位置,只需要判断位置的右边或者左边是否有空位;为了将这些情况归一化处理,在最开始和最后的位置上各加1个0,再按照普遍情况进行遍历即可。
763.划分字母区间
- 官方代码:

对字符串还不太了解,暂时放弃; - 算法描述:
122.买卖股票的最佳时间
- 我的代码:

- 算法描述:把一段时间的购入卖出理解为每天都在购入卖出,如果这一天可以获利,就执行购入并卖出;如果这一天不能获利就不购入,自然也无需卖出;实际不是这样操作的,但是可以用这种思想解决问题。
贪心算法_Leetcode刷题_7/100的更多相关文章
- 算法笔记刷题1(codeup 1934)
准备6月份的拼题甲级中(本来现在这两天就考试了,但是因为疫情的原因延期了) 刚刚开始按算法笔记刷题,今天是探索codeup的第一天. 一开始并没有把多点测试当回事,直到一错再错,心态爆炸... 附上我 ...
- 1、学习算法和刷题的框架思维——Go版
前情提示:Go语言学习者.本文参考https://labuladong.gitee.io/algo,代码自己参考抒写,若有不妥之处,感谢指正 关于golang算法文章,为了便于下载和整理,都已开源放在 ...
- 算法笔记刷题3(codeup 5901)
今天刷题的速度依旧很慢(小乌龟挥爪.jpg) 我觉得codeup5901中回文串的处理很妙,如果是我自己写的话可能会把数组直接倒过来和原来对比.按照对称规律进行比对的话,工作量可以减少一半. #inc ...
- poj 2586 Y2K Accounting Bug(贪心算法,水题一枚)
#include <iostream> using namespace std; /*248K 32MS*/ int main() { int s,d; while(cin>> ...
- 有效的括号序列——算法面试刷题4(for google),考察stack
给定一个字符串所表示的括号序列,包含以下字符: '(', ')', '{', '}', '[' and ']', 判定是否是有效的括号序列. 括号必须依照 "()" 顺序表示, & ...
- 相似的RGB颜色——算法面试刷题3(for google),考察二分
在本题中,每个大写字母代表从“0”到“f”的一些十六进制数字. 红绿蓝三元色#AABBCC可以简写为#ABC. 例如,#15c是颜色#1155cc的简写. 现在,假设两种颜色#ABCDEF和#UVWX ...
- 回文的范围——算法面试刷题2(for google),考察前缀和
如果一个正整数的十进制表示(没有前导零)是一个回文字符串(一个前后读取相同的字符串),那么它就是回文.例如,数字5, 77, 363, 4884, 11111, 12121和349943都是回文. 如 ...
- 有效单词词广场——算法面试刷题5(for google),考察数学
给定一个单词序列,检查它是否构成一个有效单词广场.一个有效的单词广场应满足以下条件:对于满足0≤k<max(numRows numColumns)的k,第k行和第k列对应的字符串应该相同,. 给 ...
- rp算法 随机化 刷题记录
刷随机化是真的会上瘾quq 洛谷P3973 [TJOI2015]线性代数 看oiwiki上说可以随机化...于是... 就随机在a[i]上选一位取反,然后更新答案,最后输出答案. ...无话可说 代码 ...
- 算法笔记刷题5(PAT A1025)
第一次上手PAT的甲级题目,瑟瑟发抖(英语不好对着题目愣了半天) 这一题的要点是使用sort函数. 使用sort函数必须使用 #include <algorithm> using name ...
随机推荐
- new与delete只能被重载为成员函数;而<<等只能被重载为非成员函数
链接:https://www.nowcoder.com/questionTerminal/5760864337084de6891a9944f41e60f4来源:牛客网 应用程序可以将重载的new/de ...
- bsub opts
Options - IBM Documentation List of options for the bsub command. -aSpecifies one or more applicatio ...
- oracle ebs 账户组合验证
DECLARE l_segment1 GL_CODE_COMBINATIONS.SEGMENT1%TYPE; l_segment2 GL_CODE_COMBINATIONS.SEGMENT2%TYPE ...
- shell, 进程, 变量, 命令, 作业控制
资料来源 (1) UNIX shell范例精解 1.什么是shell? shell的作用? (1) shell是一种特殊的程序,是用户与UNIX/Linux系统内核之间的接口; (2) shell用于 ...
- wpf dataGrid 获取单元格,并对单元格中的对象操作
先上图: 要求:对第一行的"选项内容举例..."的控件进行隐藏,如下: 前端代码: <Window x:Class="DataGridPractice.MainWi ...
- codeforces 1391E Pairs of Pairs dfs树的性质
https://codeforces.com/problemset/problem/1391/E 题意:给一个无向图,找出以下任意一种输出答案 1,长度>=n/2(上界)的简单路径(没有同一个点 ...
- linux下第三方库的配置和链接——以opencv为例
安装OpenCV(可参考链接) 下载source到 /usr/local/路径下 新建 /build/ cmake 编译 添加库路径 vim /etc/ld.so.conf 该目录作用参考链接 输入: ...
- C语言学习--指针数组
#include<stdio.h> //指针数组, 数组里面的每一个元素都是指针 int main() { int a = 10; int b = 20; int c = 30; // i ...
- 国行XBoxOne第一次开机配置主要问题备忘
1,Kinect可以在设置中关闭. 2,彻底关闭主机,需要长按主机上的开关键,将主机彻底关机,同时开机只要轻触一下主机开关机键即可 3,不能更新问题:3.1检查网络已连接3.2检查路由器,将DNS中的 ...
- uni-app 下载文件 预览 + 保存自定义目录
作为使用uni-app的小白来说 尝试了好几种方法 终于得到了我想要的效果(如下) 1.点击下载按钮(文件 或者图片) 2.预览 :用户自定义选择查看的软件(图片在手机相册 文件用其他打开预览) ...