😀大家好,我是白晨,一个不是很能熬夜😫,但是也想日更的人✈。如果喜欢这篇文章,点个赞👍,关注一下👀白晨吧!你的支持就是我最大的动力!💪💪💪文章目录🍊前言🍋贪心算法经典题目🌸1.分割平衡字符串🌹2.买卖股票的最佳时机🌺3.跳跃游戏🌻4.多机调度问题🌼5.活动选择🌷6.最多可以参加的会议数目🌱7.无重叠区间🍍总结🍊前言观前提示:此文章需要一定贪心算法的基础。大家好呀,我是白晨🧐。贪心算法算是一种比较耳熟能详的算法,只要求出局部最优解就可以得到整体的最优解,而且面试很喜欢出这种问题。但是,贪心算法其实并不好想,特别是有些问题比较绕的时候,你可能根本就想不到贪心算法。动态规划这个算法是从整体出发求整体
🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握!文章目录一.题目-贪心歌手二.解题思路三.题解代码Python题解代码JAVA题解代码C/C++题解代码JS题解代码四.代码讲解(Java&Python&C++&JS分别讲解)
1跳跃游戏1给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。示例 1:输入:nums=[2,3,1,1,4]输出:true解释:可以先跳1步,从下标0到达下标1,然后再从下标1跳3步到达最后一个下标。示例 2:输入:nums=[3,2,1,0,4]输出:false解释:无论怎样,总会到达下标为3的位置。但该下标的最大跳跃长度是0,所以永远不可能到达最后一个下标。方法:贪心算法对于每一个可以到达的位置x,他使得x+1,x+2,...,x+num
七.贪心算法文章目录七.贪心算法1.605种花问题2.121买卖股票的最佳时机3.561数组拆分4.455分发饼干5.575分糖果6.135分发糖果7.409最长回文串8.621任务调度器9.179最大数10.56合并区间11.57插入区间13.452用最少数量的箭引爆气球14.435无重叠区间15.646最长数对链16.406按照身高重建队列17.48旋转图像18.169多数元素19.215数组中的第k个最大元素20.75颜色分类21.324摆动顺序II22.517超级洗衣机[未解]23.649Dota2参议院24.678有效的括号字符串25.420强密码检验器26.53最大子数组和27.1
🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握!文章目录一.题目二.解题思路三.题解代码Python题解代码JAVA题解代码C/C++题解代码JS题解代码四.代码讲解(Java&Python&C++&JS分别讲解)
14天阅读挑战赛目录1.题目描述 2.问题分析3.算法设计4.C++程序5.算法复杂度及优化
贪心算法part04算法●860.柠檬水找零●406.根据身高重建队列●452.用最少数量的箭引爆气球1.leetcode860.柠檬水找零https://leetcode.cn/problems/lemonade-change/description/classSolution{publicbooleanlemonadeChange(int[]bills){//看能不能找零//bills[i]不是5就是10或是20,已经固定好了//遇见5,我们就直接收起来//遇见10我们就找张5块的给他,10元收起来//遇见20我们就两种找零方式,优先10+5,再5+5+5//计每种面额的数量intfive
Agreedyalgorithmfollowsheuristicofmakingthelocallyoptimalchoiceateachstagewiththeintentoffindingaglobaloptimum.思维框架:“每次找最……的物品……”太戈编程2637题题目描述:有n个正整数,现在进行若干次操作:每次删去2个数a和b,然后加入1个数a*b+1。反复操作直到只有一个数,求最小剩下几?怎样贪心呢?就只有两种可能,①每次挑最小的数合并②每次挑最大的数合并。假设有三个数a,b,c,且a代码:#includeusingnamespacestd;intn;intmain(){ cin
题目描述小蓝正在玩一款游戏。游戏中魏蜀吴三个国家各自拥有一定数量的士兵X,Y,Z(一开始可以认为都为0)。游戏有n个可能会发生的事件,每个事件之间相互独立且最多只会发生一次,当第i个事件发生时会分别让X,Y,Z增加Ai,Bi,Ci。当游戏结束时(所有事件的发生与否已经确定),如果X,Y,Z的其中一个大于另外两个之和,我们认为其获胜。例如,当X>Y+Z时,我们认为魏国获胜。小蓝想知道游戏结束时如果有其中一个国家获胜,最多发生了多少个事件?如果不存在任何能让某国获胜的情况,请输出−1。输入格式输入的第一行包含一个整数n。第二行包含n个整数表示Ai,相邻整数之间使用一个空格分隔。第三行包含n个整数表
蓝桥杯备赛|洛谷做题打卡day17文章目录蓝桥杯备赛|洛谷做题打卡day17删数问题题目描述输入格式输出格式样例#1样例输入#1样例输出#1我们的思路是这样的:题解代码我的一些话删数问题题目描述键盘输入一个高精度的正整数NNN(不超过250250250位),去掉其中任意kkk个数字后剩下的数字按原左右次序将组成一个新的非负整数。编程对给定的NNN和kkk,寻找一种方案使得剩下的数字组成的新数最小。输入格式输入两行正整数。第一行输入一个高精度的正整数nnn。第二行输入一个正整数kkk,表示需要删除的数字个数。输出格式输出一个整数,最后剩下的最小数。样例#1样例输入#11754384样例输出#11