当前位置: 首页 > news >正文

代码随想录day32

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

● 力扣题目链接
● 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。
● 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。
● 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。

思路

● 价格有一个价格数组,前后两天的价格差构成利润数组,我们把利润数组中所有大于零的元素加和即可

代码

class Solution {public int maxProfit(int[] prices) {if (prices.length == 1) return 0;int profit = 0;int[] pro = new int[prices.length - 1];for (int i = 0; i < pro.length; i++) {pro[i] = prices[i + 1] - prices[i];if (pro[i] > 0) profit += pro[i];}return profit;}
}

55. 跳跃游戏

思路

● 遍历覆盖范围,在此期间不断更新覆盖范围,一旦覆盖了末尾,就返回true

代码

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

45.跳跃游戏 II

● 力扣题目链接
● 给定一个非负整数数组,你最初位于数组的第一个位置。
● 数组中的每个元素代表你在该位置可以跳跃的最大长度。
● 你的目标是使用最少的跳跃次数到达数组的最后一个位置。

思路

● 记录当前位置和下一步最大位置

代码

class Solution {public int jump(int[] nums) {int count = 0;int curDistance = 0;int nextDistance = 0;for (int i = 0; i < nums.length; i++) {nextDistance = Math.max(nextDistance, nums[i] + i);if (nextDistance >= nums.length - 1) {count++;break;}if (i == curDistance) {curDistance = nextDistance;count++;}}return count;}
}
http://www.lryc.cn/news/163691.html

相关文章:

  • 2.8 PE结构:资源表详细解析
  • Python数据类型的相互转换
  • 阿里云云主机免费试用三个月
  • OpenHarmony 使用 ArkUI Inspector 分析布局
  • Axes3D绘制3d图不出图解决办法【Python】
  • Idea中 css 、js 压缩插件会自动生成xxx.min.css、xxx.min.js文件
  • win11无法加载文件,因为在此系统上禁止运行脚本
  • Spring Boot将声明日志步骤抽离出来做一个复用类
  • RabbitMQ实现数据库与ElasticSearch的数据同步和分享文件过期处理
  • PyCharm集成开发环境安装、启动与设置
  • 算法与设计分析--实验一
  • ElementUI浅尝辄止28:Dropdown 下拉菜单
  • jupyter 格式化与快捷键
  • Spring以及SpringBoot/SpringCloud注解
  • vim常用操作
  • Serverless Framework 亚马逊云(AWS)中国地区部署指南
  • 【Spring Cloud系统】- 轻量级高可用工具Keepalive详解
  • 【JAVA-Day05】深入理解Java数据类型和取值范围
  • “JSR303和拦截器在Java Web开发中的应用与实践“
  • 第六章 图 六、最小生成树(Prim算法、Kruskal算法)
  • 机器学习笔记 - 什么是 MLOps?
  • 初阶扫雷(超详解)
  • 计算机视觉CV:1000字总结介绍
  • JavaScript 之 Symbol 数据类型
  • 在Docker中运行PostgreSQL数据库
  • 实现Spring Boot集成MyBatis
  • 关于算法的时间复杂度(度量算法执行时间的两种方法、渐进时间复杂度、时间复杂度的几个性质、渐进估算、常见的渐进时间复杂度排序)
  • SpringBoot项目--电脑商城【显示商品详情功能】
  • VLAN笔记
  • 分类算法系列⑤:决策树