玩转算法之面试第十章-贪心算法

leetcode 455 分配饼干
在这里插入图片描述
在这里插入图片描述
尝试将最大的饼干给最贪心的朋友
如果满足,则+1
如果不满足,则将最大的饼干给次贪心的朋友,一次类推

试图让最多的小朋友开心
在这里插入图片描述

在这里插入代码片
#include<iostream>
#include<vector>using namespace std;class Solution{private:public:int findContentChildren(vector<int>& g, vector<int>& s){sort(g.begin(),g.end(),greater<int>());//因为在c++里面sort默认是将函数从小到大进行排列,//加上greater是将数组从大到小进行排列sort(s.begin(),s.end(),greater<int>()); int si=0,gi=0;//分别指向最大的饼和最贪心的朋友int res=0;while(gi<g.size() && si<s.size()){if(s[si]>=g[gi]){res++;si++;gi++}elsegi++;} return res;} }; int main(){return 0;}

leetcode 392
在这里插入图片描述

贪心算法与动态规划之间的关系
leetcode 435 区间不重叠
在这里插入图片描述
第一种情况,至少删除一组区间,第二种至少删除两组区间
等价情况:最多保留多少个区间?
在这里插入图片描述
按照起始点进行排序
在这里插入图片描述

在这里插入图片描述

//区间不重叠 
#include<iostream>
#include<vector>using namespace std;struct Interval{int start;int end;Interval(): start(0), end(0){}Interval(int s, int e): start(s), end(e){}
}; bool compare(const Interval &a, const Interval &b){if(a.start != b.start()) return a.start<b.startreturn a.end<b.end
}
class Solution{
private:public:int eraseOverlapIntervals(vector<Interval>& intervals){if(interval.size()==0)return 0;sort(intervals.begin(),intervals.end(),compare);//memo[i]表示使用intervals[0...i]的区间能构成的最长不重叠区间序列 vector<int> memo(intervals.size(),-1);for(int i=1; i<intervals.size();i++)for(int j=0; j<i; j++)if(intervals[i].start>>intervals[j].end()) memo[i]=max(memo[i],1+memo[j]);int res=0;for(int i=0;i<memo.size();i++)res=max(res,memo[i]);return intervals.size()-res;		}}; int main(){return 0;}

在这里插入图片描述
在这里插入图片描述

//区间不重叠 贪心算法实现 
#include<iostream>
#include<vector>using namespace std;struct Interval{int start;int end;Interval(): start(0), end(0){}Interval(int s, int e): start(s), end(e){}
}; bool compare(const Interval &a, const Interval &b){if(a.start != b.start()) return a.start<b.startreturn a.end<b.end
}
class Solution{
private:public:int eraseOverlapIntervals(vector<Interval>& intervals){if(interval.size()==0)return 0;sort(intervals.begin(),intervals.end(),compare);//memo[i]表示使用intervals[0...i]的区间能构成的最长不重叠区间序列 int res=1;int pre=0;for(int i=1; i<intervals.size();i++)if(intervals.start>=intervals[pre].end){res++;pre=i;}return intervals.size()-res;		}}; int main(){return 0;}

贪心选择性质:如果无法使用贪心算法,举出反例就可
数学归纳法和反证法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/480059.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论文浅尝 | 基于知识库的自然语言理解 04#

本文转载自公众号&#xff1a;知识工场。罗康琦&#xff0c;上海交通大学计算机系2019届博士&#xff0c;研究方向为自然语义理解和知识图谱。2012年获得华中科技大学软件工程学士学位&#xff0c;现就职于京东数据科学实验室&#xff08;Data Science Lab&#xff09;。他曾在…

BERT跨模态之后:占领了视觉常识推理任务榜单TOP 2!

星标/置顶小屋&#xff0c;带你解锁最萌最前沿的NLP、搜索与推荐技术文 | 小鹿鹿lulu编 | YY前言由于 BERT-like 模型在 NLP 领域上的成功&#xff0c;研究者们开始尝试将其应用到更为复杂的 多模态 任务上。要求模型除文本数据以外&#xff0c;还要接收其他模态的数据&#xf…

常见的算法面试问题以及代码实现

1 时间复杂度分析 一个简单的时间测试代码如下&#xff1a; #include<iostream> #include<cmath> #include<ctime>using namespace std;int main(){for(int x1;x<9;x){int npow(10,x);clock_t startTimeclock();int sum0;for(int i0;i<n;i)sumi;clock…

阿里P8架构师谈:高并发与多线程的关系、区别、高并发的技术方案

什么是高并发&#xff1f; 高并发&#xff08;High Concurrency&#xff09;是一种系统运行过程中遇到的一种“短时间内遇到大量操作请求”的情况&#xff0c;主要发生在web系统集中大量访问收到大量请求&#xff08;例如&#xff1a;12306的抢票情况&#xff1b;天猫双十一活动…

LeetCode 1. 两数之和(哈希)

文章目录1. 题目2. 解题1. 暴力解法2. 哈希法3. python3解答1. 题目 题目链接&#xff1a;https://leetcode-cn.com/problems/two-sum/ 给定一个整数数组 nums 和一个目标值 target&#xff0c;请你在该数组中找出和为目标值的那 两个 整数&#xff0c;并返回他们的数组下标。…

论文浅尝 | TuckER:基于张量分解的知识图谱补全

笔记整理&#xff1a;孙泽群&#xff0c;南京大学计算机科学与技术系&#xff0c;博士研究生。论文链接&#xff1a;https://arxiv.org/abs/1901.09590背景知识图谱是图结构的数据库&#xff0c;以三元组(es, r, eo)的形式存储事实&#xff0c;其中es和eo分别表示主语和宾语实体…

阿里Java P系列技术要求(P5-P7)

阿里p系列薪资&#xff08;最新数据比这个高1倍左右&#xff09; 阿里P5&#xff08;高级研发工程师&#xff09; 工作要求&#xff1a; 能独立完成日常工作&#xff0c;并能够对一些方案提出自己的建议。 基本考核就是能上手独立完成工作&#xff0c;熟练掌握。 技能要求…

如何配置一台深度学习工作站?

星标/置顶小屋&#xff0c;带你解锁最萌最前沿的NLP、搜索与推荐技术这篇文章主要介绍的是家用的深度学习工作站&#xff0c;典型的配置有两种&#xff0c;分别是一个 GPU 的机器和四个 GPU的机器。如果需要更多的 GPU 可以考虑配置两台四个 GPU 的机器。如果希望一台机器同时具…

LeetCode 2. 两数相加(单链表反转)

题目链接&#xff1a;https://leetcode-cn.com/problems/add-two-numbers/ 给出两个 非空 的链表用来表示两个非负的整数。其中&#xff0c;它们各自的位数是按照 逆序 的方式存储的&#xff0c;并且它们的每个节点只能存储 一位 数字。 如果&#xff0c;我们将这两个数相加起…

报名 | 全国知识图谱与语义计算大会(CCKS 2019)评测任务发布

全国知识图谱与语义计算大会是由中国中文信息学会语言与知识计算专委会定期举办的全国年度学术会议。CCKS 2018吸引了来自学术界和工业界的超800人参加。2019 年全国知识图谱和语义计算大会(www.ccks2019.cn) 将于2019年8月24日至8月27日在杭州召开&#xff0c;CCKS 2019的主题…

UML是什么?UML常用图以及建模工具有哪些?

“ 在做项目设计方案的时候&#xff0c;理解为需求后&#xff0c;我们都会做技术设计方案&#xff0c;这个时候就需要用到UML建模&#xff0c;涉及到UML常用图形以及工具画图&#xff0c;以下我会详细介绍UML图形和我个人推荐的UML建模工具。 UML即Unified Model Language&am…

炼丹必备!推荐一个超级好用的机器学习云平台

矩池云是一个专业的国内深度学习云平台&#xff0c;拥有着良好的深度学习云端训练体验&#xff0c;和高性价比的自建GPU集群资源。高性价比矩池云拥有很高的性价比&#xff0c;其的计费方式主要分为按时租与按周/月租。按时租用采用的是分钟级的实时计费模式&#xff0c;满足了…

直通BAT必考题系列:深入详解JVM内存模型与JVM参数详细配置

JVM基本是BAT面试必考的内容&#xff0c;今天我们先从JVM内存模型开启详解整个JVM系列&#xff0c;希望看完整个系列后&#xff0c;可以轻松通过BAT关于JVM的考核。 BAT必考JVM系列专题 1.JVM内存模型 2.JVM垃圾回收算法 3.JVM垃圾回收器 4.JVM参数详解 5.JVM性能调优 JV…

论文浅尝 | 基于平行新闻的Bootstrapping关系抽取

笔记整理&#xff1a;吴锐&#xff0c;东南大学大四本科生&#xff0c;研究方向为自然语言处理。Citation&#xff1a;Michael Glass, K. B. . (2012). Bootstrapping relation extraction using parallel news articles. Retrieved from https://pdfs.semanticscholar.org/bfa…

动态规划应用--最长递增子序列 LeetCode 300

文章目录1. 问题描述2. 解题思路2.1 动态规划2.2 二分查找1. 问题描述 有一个数字序列包含n个不同的数字&#xff0c;如何求出这个序列中的最长递增子序列长度&#xff1f;比如2&#xff0c;9&#xff0c;3&#xff0c;6&#xff0c;5&#xff0c;1&#xff0c;7这样一组数字序…

论文浅尝 | 5 篇顶会论文带你了解知识图谱最新研究进展

本文转载自公众号&#xff1a;PaperWeekly。精选 5 篇来自 ICLR 2019、WSDM 2019、EMNLP 2018、CIKM 2018和IJCAI 2018 的知识图谱相关工作&#xff0c;带你快速了解知识图谱领域最新研究进展。WSDM 2019■ 论文解读 | 张文&#xff0c;浙江大学在读博士&#xff0c;研究方向为…

LeetCode 53. 最大子序和(动态规划)

文章目录1. 题目描述2. 解题2.1 暴力求解2.2 动态规划1. 题目描述 题目链接&#xff1a;https://leetcode-cn.com/problems/maximum-subarray/ 《剑指Offer》同题&#xff1a;面试题42. 连续子数组的最大和 给定一个整数数组 nums &#xff0c;找到一个具有最大和的连续子数组…

java程序员的发展之路和职业规划

在互联网做技术的朋友&#xff0c;往往没有足够的重视&#xff0c;职业规划其实一点都不虚&#xff0c;而是一件非常实在的事情&#xff0c;如果你不是每次碰墙再反思职业规划&#xff0c;而是提前3年左右作出下一步的规划&#xff0c;你早已经走出了一条属于自己的路。 以下是…

图Graph--拓扑排序(Topological Sorting)

文章目录1. 拓扑排序2. 算法实现2.1 Kahn算法2.2 DFS算法2.3 时间复杂度3. 应用4. 类似题目练习一个项目往往会包含很多代码源文件。编译器在编译整个项目时&#xff0c;需按照依赖关系&#xff0c;依次编译每个源文件。比如&#xff0c;A.cpp依赖B.cpp&#xff0c;那在编译时&…

SIGIR20最佳论文:通往公平、公正的Learning to Rank!

星标/置顶小屋&#xff0c;带你解锁最萌最前沿的NLP、搜索与推荐技术文 | 机智的叉烧编 | 兔子酱大家好&#xff0c;我是叉烧。感谢卖萌屋再次给我机会在这里分享~SIGIR2020 的 best paper 终于出炉&#xff0c;这次获奖论文是 Controlling Fairness and Bias in Dynamic Learn…