贪心算法

采用贪心策略,保证每次操作是局部最优的,从而使随后结果是全局最优的。

455.分配饼干

  • 贪心策略:尽量把最小的饼干分配给胃口最小的孩子。
  • 我的代码:

  • 算法描述:
  1. 将孩子的胃口值g和拥有的饼干s进行升序排列;
  2. 使用双指针对胃口和饼干进行遍历,在胃口和饼干都被遍历完之前(分配完成),为每个胃口匹配能完成它的最小饼干,满足胃口即计数+1,直到退出循环。

135.分糖果

  • 贪心策略:在每次遍历中,只考虑并更新一侧的大小关系。
  • 官方代码:

  • 我的代码:

  • 算法描述【我的代码】:
  1. 将所有孩子的的糖果数初始化为1;
  2. 先从左往右遍历一遍,如果右边孩子的评分比左边孩子高,则右边孩子的糖果数更新为左边孩子的糖果数+1;
  3. 再从右往左遍历,如果左边的孩子评分比右边高且左边孩子的糖果数小于等于右边孩子的糖果数,则左边孩子的糖果数更新为右边孩子的糖果数+1.

435.区间问题

  • 贪心策略:优先保留结尾小且不相交的区间。
  • 官方代码:

  • 算法描述:
  1. 先确定首个区间,应该满足右端点最小;将所有区间按照右端点从小到大进行排序;
  2. 下一个区间应该满足于首个区间不重合且右端点最小的区间;
  3. 依次排列,形成最终最优的不重叠区间结果。

Arrays.sort用法

https://blog.csdn.net/ssjdoudou/article/details/107886461?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-1-107886461-blog-109584146.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-1-107886461-blog-109584146.pc_relevant_3mothn_strategy_recovery&utm_relevant_index=2

452.用最少数量的箭引爆气球

  • 我的代码:

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

605.种花问题

  • 我的代码

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

763.划分字母区间

  • 官方代码:



    对字符串还不太了解,暂时放弃;
  • 算法描述:

122.买卖股票的最佳时间

  • 我的代码:

  • 算法描述:把一段时间的购入卖出理解为每天都在购入卖出,如果这一天可以获利,就执行购入并卖出;如果这一天不能获利就不购入,自然也无需卖出;实际不是这样操作的,但是可以用这种思想解决问题。

贪心算法_Leetcode刷题_7/100的更多相关文章

  1. 算法笔记刷题1(codeup 1934)

    准备6月份的拼题甲级中(本来现在这两天就考试了,但是因为疫情的原因延期了) 刚刚开始按算法笔记刷题,今天是探索codeup的第一天. 一开始并没有把多点测试当回事,直到一错再错,心态爆炸... 附上我 ...

  2. 1、学习算法和刷题的框架思维——Go版

    前情提示:Go语言学习者.本文参考https://labuladong.gitee.io/algo,代码自己参考抒写,若有不妥之处,感谢指正 关于golang算法文章,为了便于下载和整理,都已开源放在 ...

  3. 算法笔记刷题3(codeup 5901)

    今天刷题的速度依旧很慢(小乌龟挥爪.jpg) 我觉得codeup5901中回文串的处理很妙,如果是我自己写的话可能会把数组直接倒过来和原来对比.按照对称规律进行比对的话,工作量可以减少一半. #inc ...

  4. poj 2586 Y2K Accounting Bug(贪心算法,水题一枚)

    #include <iostream> using namespace std; /*248K 32MS*/ int main() { int s,d; while(cin>> ...

  5. 有效的括号序列——算法面试刷题4(for google),考察stack

    给定一个字符串所表示的括号序列,包含以下字符: '(', ')', '{', '}', '[' and ']', 判定是否是有效的括号序列. 括号必须依照 "()" 顺序表示, & ...

  6. 相似的RGB颜色——算法面试刷题3(for google),考察二分

    在本题中,每个大写字母代表从“0”到“f”的一些十六进制数字. 红绿蓝三元色#AABBCC可以简写为#ABC. 例如,#15c是颜色#1155cc的简写. 现在,假设两种颜色#ABCDEF和#UVWX ...

  7. 回文的范围——算法面试刷题2(for google),考察前缀和

    如果一个正整数的十进制表示(没有前导零)是一个回文字符串(一个前后读取相同的字符串),那么它就是回文.例如,数字5, 77, 363, 4884, 11111, 12121和349943都是回文. 如 ...

  8. 有效单词词广场——算法面试刷题5(for google),考察数学

    给定一个单词序列,检查它是否构成一个有效单词广场.一个有效的单词广场应满足以下条件:对于满足0≤k<max(numRows numColumns)的k,第k行和第k列对应的字符串应该相同,. 给 ...

  9. rp算法 随机化 刷题记录

    刷随机化是真的会上瘾quq 洛谷P3973 [TJOI2015]线性代数 看oiwiki上说可以随机化...于是... 就随机在a[i]上选一位取反,然后更新答案,最后输出答案. ...无话可说 代码 ...

  10. 算法笔记刷题5(PAT A1025)

    第一次上手PAT的甲级题目,瑟瑟发抖(英语不好对着题目愣了半天) 这一题的要点是使用sort函数. 使用sort函数必须使用 #include <algorithm> using name ...

随机推荐

  1. echarts 之 source and clone函数问题hasOwnProperty is not defined

    图表渲染时报错如下: echarts 实例的 setOption 方法用来加载/更新图表数据,setOption 方法内部首先使用了 zrender 的 clone 函数对 options 进行了拷贝 ...

  2. php对接飞书机器人报警接口

    <?php function request_by_curl($remote_server, $post_string) { $ch = curl_init(); curl_setopt($ch ...

  3. 在uniapp中,定义导航栏左侧,右侧按钮

    在page.json中 代码: { "path": "pages/pandian", "style": { "navigation ...

  4. CAN通讯模板

    #define MyCAN_SJW CAN_SJW_3tq#define MyCAN_BS1 CAN_BS1_5tq#define MyCAN_BS2 CAN_BS2_3tq#define MyCAN ...

  5. :)torch转onnx总结--|

    torch->onnx 参考:参考连接:https://blog.csdn.net/cxx654/article/details/123011332 1 安装 onnx >python - ...

  6. OC基础 - isMemberOfClass | isKindOfClass

    isMemberOfClass | isKindOfClass 1 - 猜想以下代码输出的结果 1 #import <Foundation/Foundation.h> 2 #import ...

  7. 从零搭建hadoop集群之zookeeper集群安装

    1. 从官方渠道获取对应的zookeeper的安装包 http://archive.apache.org/dist/zookeeper/ zookeeper-3.4.10.tar.g 2. 上传zoo ...

  8. TP5--页面跳转

    //模拟登录 // $admin = 0; // if($admin != 10){ // //页面跳转 // $this->success('登录失败','login/index'); // ...

  9. 实例正常,page页损坏处理

    1.select count(*) from XXXXX_homework; 可以查询 2.check table XXXXX_homework; 有报错,报连接失败. ERROR 2013 (HY0 ...

  10. Android Custom View使用Databinding

    Android Custom View是可以使用 databinding 的 //java.lang.IllegalArgumentException: View is not a binding l ...