贪心算法_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 ...
随机推荐
- 在CMD上运行java文件时出现错误:找不到或者无法加载主类的问题
转载链接:https://blog.csdn.net/weixin_39085109/article/details/80189899
- mblink study111
mblink study https://gitee.com/dotnetchina/NanUIhttps://blog.csdn.net/u012814856/article/details/70 ...
- ssh 远程报错 Permission denied, please try again.(密码输入正确也无法登录)
登录KVM 查看sshd服务systemctl status sshd 报错显示error: cloud not get shadow information forXXX 问题原因: 服务器 ...
- 基于CentOS搭建FTP文件服务实战
参考教程来自腾讯云开发者实验室:https://cloud.tencent.com/developer/labs/lab/10123 话不多少,进入流程 1. 安装vsftpd 使用 yum 安装 v ...
- 家里静态Ip设置
分配的网段是10.10.1.*
- Jmeter接口测试+Jmeter性能测试项目实战+Jmeter性能监控分析调优01
Jmeter P1 性能测试关键指标 1,这些指标大家看到后有什么感觉呢?对于功能测试,一般结果就两种,成功的或者是不通过的,有问题的和没问题的,有毛病的和没毛病的,比如打开网页,能打开就打开,打不开 ...
- ubuntu无法进入图形界面可以进入终端
ubuntu开机后无法进入图形界面解决办法: 进入命令行模式,执行下面的命令: rm /etc/X11/xorg.conf cp /etc/X11/xorg.conf.failsafe /etc ...
- 【Python】语言的控制流程
二.Python语言的控制流程 1.程序的组织结构 1.1 顺序结构:从上到下顺序的执行代码,直到程序结束,没有任何判断和跳转 1.2 选择结构:根据判断条件的布尔值选择性的执行部分代码:if语句 1 ...
- 慢SQL
慢SQL 目录 慢SQL 一.慢SQL概念 2.参数 3.配置 3.1.slow_query_log 3.2.slow_query_log_file 3.3.long_query_time 3.4.l ...
- C语言学习--指针函数与函数指针
#include<stdio.h> #include<string.h> //指针函数: 是一个函数, 但是这个函数的返回值类型是一个指针 //函数指针: 是一个指针, 这个指 ...