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

【leetcode hot 100 45】跳跃游戏Ⅱ

解法一:递归

class Solution {
    public int jump(int[] nums) {
        int n = nums.length;
        if(n==0){
            return 0;
        }
        return jumpHelper(nums, n-1, 0);
    }

    public int jumpHelper(int[] nums, int location, int times){
        // location是目前到达的位置;times是到达该位置跳的次数
        if(location==0){
            return times;
        }
        for(int i=0; i<location; i++){
            if(nums[i]>=location-i){
                // 能到达i位置
                times++;
                return jumpHelper(nums, i, times);
            }
        }
        return 0;
    }
}

注意:

  • 题目的前提是保证可以到达 nums[n-1] ,否则考虑
    • ①传入引用类型:有考虑传入包装类Integer,但是Java中的包装类是引用传递‌。尽管包装类是引用类型,但由于其不可变性,修改包装类对象的内容会导致创建新对象,而原对象不受影响。例如,对于Integer、Double等包装类,当在方法中修改其值时,实际上会创建一个新的对象实例,而原始对象不会发生变化‌。(❌不可使用)
    • ②返回Map<location, times>
http://www.dtcms.com/a/99659.html

相关文章:

  • 第三百八十九节 JavaFX教程 - JavaFX WebEngine
  • uniapp-小程序地图展示
  • C++的模板(十四):更多的自动内存管理
  • AI的未来在手机里!
  • Spring Data审计利器:@LastModifiedDate详解(依赖关系补充篇)!!!
  • springBoot与ElementUI配合上传文件
  • Vue2——常用指令总结、指令修饰符、v-model原理、computed计算属性、watch监听器、ref和$refs
  • Elasticsearch(ES)的经典面试题及其答案
  • 深度对比:DeepSeek vs OpenAI 核心技术指标
  • Matlab安装tdms插件
  • Numpy用法(三)
  • QT操作Excel
  • 【 <二> 丹方改良:Spring 时代的 JavaWeb】之 Spring Boot 中的缓存技术:使用 Redis 提升性能
  • NodeJs之http模块
  • 学成在线--day02
  • 深度学习篇---模型训练评估参数
  • Tabby二:使用笔记 - 保姆级教程
  • C#的CSV 在8859-1下中乱码和技巧
  • 猜猜我用的是哪个大模型?我的世界游戏界面简单的模拟效果
  • 网络华为HCIA+HCIP 策略路由,双点双向
  • OSPF练习
  • Let’s Encrypt 宣布推出短期证书与 IP 地址支持,推动 Web 安全迈向新高度
  • 无线通信技术(二):ITU、3GPP及传统波段对无线频谱的划分
  • AutoDev 2.0 正式发布:智能体 x 开源生态,AI 自动开发新标杆
  • 计算机组成原理笔记(六)——2.2机器数的定点表示和浮点表示
  • React Router精通:轻松创建动态单页应用
  • 动态IP:网络世界的“变色龙”如何改变你的在线体验?
  • 革新汽车安全通信技术,美格智能全系车载通信模组支持NG-eCall
  • Baklib知识中台驱动智能架构升级
  • HTML布局