【算法刷题day32】Leetcode:122. 买卖股票的最佳时机 II、55. 跳跃游戏、45. 跳跃游戏 II

embedded/2024/10/18 18:14:09/

文章目录

    • Leetcode 122. 买卖股票的最佳时机 II
      • 解题思路
      • 代码
      • 总结
    • Leetcode 55. 跳跃游戏
      • 解题思路
      • 代码
      • 总结
    • Leetcode 45. 跳跃游戏 II
      • 解题思路
      • 代码
      • 总结

草稿图网站
java的Deque

Leetcode 122. 买卖股票的最佳时机 II

题目:122. 买卖股票的最佳时机 II
解析:代码随想录解析

解题思路

记录当前的购入金额,当上一次卖出金额收益高于这次的卖出金额时,卖出上次,这次的记为购入金额。(没用到贪心)

代码

class Solution {public int maxProfit(int[] prices) {int profit = 0;int purchase = prices[0];int sell = prices[0];for (int i = 1; i < prices.length; i++) {if (prices[i] < sell) {profit += (sell - purchase);purchase = prices[i];}sell = prices[i];}if (sell > purchase)profit += (sell - purchase);return profit;}
}//贪心(今天卖了赚钱就卖,卖了亏本就不卖)
class Solution {public int maxProfit(int[] prices) {int profit = 0;for (int i = 1; i < prices.length; i++) {profit += Math.max(prices[i] - prices[i-1], 0);}return profit;}
}

总结

贪心算法代码量少阿

Leetcode 55. 跳跃游戏

题目:55. 跳跃游戏
解析:代码随想录解析

解题思路

遍历所有到cover的元素能覆盖到的范围,如果能大于等于最后一个元素,则返回true

代码

class Solution {public boolean canJump(int[] nums) {int cover = 0;if (nums.length == 1)return true;for (int i = 0; i <= cover; i++) {cover = Math.max(i + nums[i], cover);if (cover >= nums.length - 1)return true;}return false;}
}

总结

暂无

Leetcode 45. 跳跃游戏 II

题目:45. 跳跃游戏 II
解析:代码随想录解析

解题思路

每次更新下一轮覆盖的最大范围。当走完当前覆盖范围的时候,step++。

代码

class Solution {public int jump(int[] nums) {if (nums.length == 1) return 0;int step = 0;int curCover = 0;int nextCover = 0;for (int i = 0; i < nums.length; i++) {nextCover = Math.max(nextCover, i + nums[i]);if (i == curCover) {step++;curCover = nextCover;if (curCover >= nums.length - 1) break;}}return step;}
}

总结

暂无


http://www.ppmy.cn/embedded/15632.html

相关文章

File的常见成员方法

一.判断&#xff0c;获取 注意&#xff1a;这里写的都是我的电脑里的存文件的路径&#xff0c;记得把路径改为自己电脑中存储的位置 public boolean isDirectory()判断此路径名表示的File是否为文件夹 import java.io.File;public class file {public static void main(Stri…

【CMU15-445 Part-20】Logging Scheme

Part20-Logging Schemes commit 一般就意味着 持久化到disk。 logging recovery 是保证txn所做的修改能够保障数据库的一致性、事务的原子性&#xff0c;持久性&#xff0c;关心的是acid中的acd。 恢复协议其实是两部分&#xff1a;1. 确保系统运行中遇到故障后可以恢复的措…

代码随想录第51天 | 309.最佳买卖股票时机含冷冻期 、 714.买卖股票的最佳时机含手续费

一、前言 参考文献&#xff1a;代码随想录&#xff1b; 今天还是买卖股票&#xff0c;只是又多了一些条件。一个是含有冷冻期&#xff0c;在冷冻期期间不可出售股票&#xff1b; 我们直接开始做题吧&#xff01; 二、最佳买卖股票时机含冷冻期 1、思路&#xff1a; 其实这…

mybatis中foreach使用

一、foreach 属性使用 <foreach collection"list" index"index" item"mchntCd" open"(" close")" separator",">#{mchntCd} </foreach>item&#xff1a; 集合中元素迭代时的别名&#xff0c;该参数为…

华为ensp中MSTP多网段传输协议(原理及配置命令)

作者主页&#xff1a;点击&#xff01; ENSP专栏&#xff1a;点击&#xff01; 创作时间&#xff1a;2024年4月22日15点29分 在华为ENSP中&#xff0c;MSTP&#xff08;多段传输协议&#xff09;是重要的生成树协议&#xff0c;它扩展了STP&#xff08;生成树协议&#xff09…

鸿蒙原生应用元服务-访问控制(权限)开发应用权限列表三

ohos.permission.RECEIVE_WAP_MESSAGES 允许应用接收和处理WAP消息。 权限级别 &#xff1a;system_basic 授权方式 &#xff1a;user_grant ACL使能 &#xff1a;TRUE ohos.permission.MICROPHONE 允许应用使用麦克风。 权限级别 &#xff1a;normal 授权方式 &#x…

云端部署AI换脸开源工具FaceFusion【超详细教程】

云端部署AI换脸开源工具FaceFusion【超详细教程】 FaceFusion官网 FaceFusion是一款开源的AI换脸工具&#xff0c;一款非常好用的换脸工具&#xff0c;操作简单&#xff0c;上手容易。 Facefusion&#xff1a;GitHub - facefusion/facefusion: Next generation face swapper …

设计模式:依赖倒转原则(Dependency Inversion Principle,DIP)介绍

依赖倒转原则&#xff08;Dependency Inversion Principle&#xff0c;DIP&#xff09;是面向对象设计原则之一&#xff0c;它强调高层模块不应该依赖于底层模块&#xff0c;二者都应该依赖于抽象。同时&#xff0c;抽象不应该依赖于具体实现细节&#xff0c;具体实现细节应该依…