| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 贪心算法练习题 -> 正文阅读 |
|
[数据结构与算法]贪心算法练习题 |
上面承接贪心算法整理
1、分发饼干先排序然后遍历 2、摆动序列.删除序列中的一些数,使的相邻两个数的差值为正负交替。
大体逻辑有了,但初始值不好弄,每次都是与前面比较的,但是刚开始没有pre的值。针对这个修改代码的逻辑,如下图所示,pre是0,但是也是上升的,所以判断时不能只是要求一个正一个负,pre可以为0 3、最大子序和局部最优:当前“连续和”为负数的时候立刻放弃,从下一个元素重新计算“连续和”,因为负数加上下一个元素 “连续和”只会越来越小。 4、买卖股票的最佳时机II给一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 计算你所能获取的最大利润 问题在于如果想要买,只能前一天为未持有股票状态,那么使用贪心如果保证操作的连续性。 如果确定是持有还是卖出,那么和上面一个题一样,比较每天的利润,看利润的差值 计算连续和,但这里是下一个是负数就不加了 不需要担心考虑卖出操作的影响
收集正利润的区间,就是股票买卖的区间,而我们只需要关注最终利润,不需要记录区间。
5、跳跃游戏给定一个非负整数数组,你最初位于数组的第一个位置。
6、跳跃游戏II给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 这个代码不大理解
7、K次取反后最大化的数组和给个数组和数字k,要求必须翻转k次数组,这样修改后,返回数组可能的最大值。 按照绝对值排序,然后从大值开始捋,遇到负数将其翻转并k–一次,如果捋完以后k还大于0,那么在最小值上反复的翻转将k消耗完。 加油站加油站,每个加油站有gas[i]油,到下一个加油站需要耗费cost[i]的油,问从哪个下标开始能环形一周,如果不能返回-1 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 19:48:42- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |