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

代码随想录训练营Day32:● 122.买卖股票的最佳时机II ● 55. 跳跃游戏 ● 45.跳跃游戏II

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

题目链接

https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-ii/description/

题目描述

在这里插入图片描述

思路

看完视频讲解之后豁然开朗啊简直了!!!
在这里插入图片描述
统计后一天减去前一天,差值为正数的,再把他们加起来,就是获利最大的了

class Solution {
    public int maxProfit(int[] prices) {
        int result = 0;
        //要从 1 开始,因为第 0 天刚刚买入,还没有利息
        for (int i = 1; i < prices.length; i++) {
            result += Math.max(prices[i]-prices[i-1],0);
        }
        return result;
    }
}

55. 跳跃游戏

题目链接

https://leetcode.cn/problems/jump-game/description/

题目描述

在这里插入图片描述

思路

在这里插入图片描述

class Solution {
    public boolean canJump(int[] nums) {
        if(nums.length==1) return true;
        int cover = 0;
        //cover 表示每个位置能够覆盖的长度
        // 在 cover 个长度里边走,不能超过 cover
        for (int i = 0; i <= cover; i++) {
            cover = Math.max(i+nums[i],cover);
            if(cover>= nums.length-1){
                return true;
            }
        }
        return false;
    }
}

45.跳跃游戏II

题目链接

https://leetcode.cn/problems/jump-game-ii/description/

题目描述

在这里插入图片描述

思路

太难想了/(ㄒoㄒ)/~~
没太听明白,得再看看

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

相关文章:

  • 医院网站建设怎么样免费seo推广计划
  • 可以进入外国网站的浏览器站长工具 忘忧草
  • 如何找外贸网站建设公司sem优化公司
  • 塘厦仿做网站销售
  • 公司名称大全简单大气三个字天津seo公司
  • 做盗版系统网站会不会今日国际新闻热点
  • Java 中的 Math. round(-1. 5) 等于多少?
  • 软件测试 - postman高级使用
  • leetcode35-Search Insert Position
  • Saltstack 最大打开文件数问题之奇怪的 8192
  • 如何在h5和小程序中适配iphoneX及更高版本全面屏底部的安全区
  • DP:斐波那契数列模型
  • SpringCloud Alibaba Nacos 服务注册和配置中心
  • 2024.3.9|第十五届蓝桥杯模拟赛(第三期)
  • 探索AI大模型学习的未来发展与挑战
  • flutter 单例模式
  • 【CMake】所见所闻所学
  • Java中的面向对象编程有三个重要的属性:封装(Encapsulation)、继承(Inheritance)和多态(Polymorphism)
  • Go语言实现SSE中转demo
  • 应急响应靶机训练-Web3题解
  • Linux系统部署Paperless-Ngx文档管理系统结合内网穿透实现公网访问
  • 面试笔记——MySQL(优化篇:定位慢查询、SQL执行计划、索引、SQL优化)
  • go的限流
  • 【毕设级项目】基于ESP8266的家庭灯光与火情智能监测系统——文末源码及PPT
  • 数据库迁移测试
  • 电商平台客户反馈的数据分析与应用