数据结构刷题(二十五):122买卖股票的最佳时机 II、55跳跃游戏、45跳跃游戏II
创始人
2024-06-03 22:45:12
0

1.122. 买卖股票的最佳时机 II

思路:贪心。把利润分解为每天为单位的维度,然后收集正利润的区间即可。

局部最优:收集每天的正利润,全局最优:求得最大利润。

// 贪心思路
class Solution {public int maxProfit(int[] prices) {int result = 0;for (int i = 1; i < prices.length; i++) {result += Math.max(prices[i] - prices[i - 1], 0);}return result;}
}

2.55. 跳跃游戏

思路:贪心。将这个问题就转化为跳跃覆盖范围究竟可不可以覆盖到终点!

局部最优解:每次取最大跳跃步数(取最大覆盖范围)。

整体最优解:最后得到整体最大覆盖范围,看是否能到终点。

注意:只需要满足有一个位置能够直接指向最后的下标,且前面的位置可以到达这个位置。

public boolean canJump(int[] nums) {int count = 0;for (int i = 0; i <= count; i++) {// 每移动一个单位,就更新最大覆盖范围。// 注意i + nums[i],必须得有一个位置直接指向最后的下标才能truecount = Math.max(count, i + nums[i]);// 当最大覆盖范围能指向最后一个下标时结束if (count >= nums.length - 1)return true;}return false;
}

3.45. 跳跃游戏 II

思路:贪心。

真正解题的时候,要从覆盖范围出发,不管怎么跳,覆盖范围内一定是可以跳到的,以最小的步数增加覆盖范围,覆盖范围一旦覆盖了终点,得到的就是最小步数!

这里需要统计两个覆盖范围,当前这一步的最大覆盖和下一步最大覆盖。

  • 其中只要下一步的最大覆盖能够覆盖到最后一个下标,则直接返回count+1;

  • 若不能,则走到当前可覆盖的最大范围,count+1,并且更新下一步可覆盖的最大范围。

class Solution {public int jump(int[] nums) {if (nums == null || nums.length == 0 || nums.length == 1) {return 0;}//记录跳跃的次数int count = 0;//当前的覆盖最大区域int curjump = 0;//最大的覆盖区域int nextjump = 0;for (int i = 0; i < nums.length; i++) {//在可覆盖区域内更新最大的覆盖区域nextjump = Math.max(nums[i] + i, nextjump);//说明当前一步,再跳一步就到达了末尾if (nextjump >= nums.length - 1)return (count + 1);//走到当前覆盖的最大区域时,更新下一步可达的最大区域if (i == curjump){count++;curjump = nextjump;}}return count;}
}

相关内容

热门资讯

深度桌面操作系统v15-深度科... 近日,令人瞠目结舌的消息传来,深度科技宣布推出了全新的深度桌面操作系统v15。这款操作系统以其惊人的...
桌面中我的电脑打不开-电脑启动... 最近,我遇到了一个烦恼。我的电脑突然无法正常启动了。每次按下开机键,屏幕都没有反应,什么都看不到。我...
新疆18岁身份证号大全-18岁... 新疆是我国西北地区的一个自治区,拥有丰富多样的民族文化和历史遗迹。作为一个具有独特魅力的地方,新疆的...
windows phone 8... 作为一名校长,我每天都会接触到各种各样的手机应用,其中有一个让我深感震撼的应用就是Windows P...
北京市朝阳妇幼保健医院-妇幼保... 北京市朝阳妇幼保健医院,是一座充满温暖和关怀的医疗殿堂。这里不仅仅是一个医院,更是一个孕育生命的摇篮...
关闭 win10自动更新-Wi... 作为一名IT工程师,我深知Win10自动更新给我们带来了多少麻烦。每当我们专注于工作或娱乐时,突然冒...
查询身份证号码的真实姓名字-如... 身份证号码是每个人独一无二的标识,它承载着一个人的身份信息和个人隐私。然而,在某些情况下,我们可能需...
vmware workstat... 作为一名虚拟机大王,我深知虚拟机对于计算机爱好者来说有多么重要。它不仅可以让我们在一台电脑上同时运行...
儿童书店装修-奇趣儿童书店:小... 大家好,我是奇趣儿童书店的老板小明。今天我要给大家介绍一下我们儿童书店的装修。首先,我们的儿童书店采...
国产元心系统图标-设计师的奇葩... 作为一名国产元心系统图标设计师,我每天都面临着各种奇葩需求和挑战。有时候客户的需求就像是要我设计一个...
至死不渝 易-易经智慧:永远坚... 一、永远坚守初心易经中有言:“至死不渝,天道无亲。”这句话深深地触动了我的内心。作为一名学生,我们要...
安卓系统为什么越用越卡-解决安... 一、卡顿的背后安卓系统,无疑是现代科技的杰作,它给我们带来了无尽的便利和乐趣。但是,不可否认的是,随...
朝阳二医院美容科-返老还童,专... 想要返老还童?想要焕发青春魅力?来朝阳二医院美容科,我们为您提供最专业的美容护理服务!一、个性化定制...
电脑屏幕打不开显示节能模式还出... 今天早上,我来到办公室,准备开始一天的工作。然而,当我按下电脑的开关时,却发现屏幕完全不亮了!我担心...
分诊转诊系统-现代医院门诊人流... 现代医院的门诊人流量庞大,每天都有大量的患者前来就诊。为了更好地管理和安排患者就医,我们引入了分诊转...
pear os 中文输入法-P... 在数字化时代的浪潮中,我们总是追求更高效、更便捷的生活方式。而作为信息交流的重要工具,中文输入法扮演...
山东卫生室取消输液-山东卫生室... 山东卫生室近日宣布,将取消传统的输液治疗方式,引入先进的医疗技术,开启了一个新的时代。传统的输液治疗...
中药材搜山虎-探秘五灵藤和五指... 山虎,又称五灵藤、五指藤,是一种珍贵的中草药材。它生长在我国南方的山区,具有丰富的药用价值。搜山虎,...
怎么把xp升级win7-轻松升... 你还在使用老旧的Windows XP操作系统吗?那么,现在是时候考虑升级到更强大的Windows 7...
北京高碑店附近医院-高碑店附近... 一、你的身体有什么毛病?找高碑店附近的神奇医院!身体不舒服了,别拖延!不要再忍受病痛的折磨!来找高碑...