题目

https://leetcode.com/problems/jump-game/

题解

又是经典套路,暴力递归->傻缓存->DP

没写草稿,直接看代码吧

class Solution {public boolean canJump(int[] nums) {// 【Solution 1】暴力递归
//        return process1(0, nums);// 【Solution 2】傻缓存
//        return process2(0, nums, new int[nums.length]);// 【Solution 3】自底向上的dpboolean[] dp = new boolean[nums.length];dp[nums.length - 1] = true;for (int i = nums.length - 2; i >= 0; i--) {for (int j = 1; j <= nums[i]; j++) {if (i + j >= nums.length - 1) {dp[i] = true;break;}if (dp[i + j]) {dp[i] = true;break;}}}return dp[0];}// 【Solution 2】dp数组含义: 0=未知  1=true  -1=falsepublic boolean process2(int i, int[] nums, int[] dp) {if (i >= nums.length - 1) return true;if (dp[i] != 0) return dp[i] == 1;for (int j = 1; j <= nums[i]; j++) {if (process2(i + j, nums, dp)) {dp[i] = 1;return true;}}dp[i] = -1;return false;}// 【Solution 1】递归含义:从i位置开始跳,能不能到终点?public boolean process1(int i, int[] nums) {if (i >= nums.length - 1) return true;for (int j = 1; j <= nums[i]; j++) {if (process1(i + j, nums)) return true;}return false;}
}

leetcode 55. Jump Game | 55. 跳跃游戏(暴力递归->傻缓存->DP)相关推荐

  1. JavaScript实现backtracking Jump Game回溯跳跃游戏算法(附完整源码)

    JavaScript实现backtracking Jump Game回溯跳跃游戏算法(附完整源码) backtrackingJumpGame.js完整源代码 backtrackingJumpGame. ...

  2. Leetcode1696. 跳跃游戏 VI[C++题解]:dp和单调队列求滑动窗口最值

    文章目录 题目分析 题目链接 单调队列板子链接 Deque知识补充 题目分析 题目重述:给定一个数组(有正数有负数)和一个步长k,从下标0处开始往前跳,每次最多往前跳k步.求跳到最后一个位置,得分之和 ...

  3. 【LeetCode】LeetCode之跳跃游戏Ⅱ——暴力解法+动态规划+贪婪算法

    1.题目描述

  4. 45. Jump Game II(跳跃游戏II)

    原题链接:https://leetcode.com/problems/jump-game-ii/ 这道题比较适合用贪心来做,局部的最优解最后刚好是整体的最优解. 如下图,开始的位置是 2,可跳的范围是 ...

  5. leetcode 877. Stone Game | 877. 石子游戏(递归/动态规划/数学解法)

    题目 https://leetcode.com/problems/stone-game/ 题解 搜了一下 stone game,结果.. 进入正题: 一开始写了个递归,超时了.没想出怎么写 dp,看了 ...

  6. 先后抽纸牌游戏 暴力递归

    题目描述: 给定一个整形数组arr,代表数值不同的纸牌排成一条线 玩家A和玩家B一次拿走每张纸牌 规定玩家A先拿,玩家B后拿 但是每个玩家每次只能只能拿走最左或者最右的纸牌 双方玩家都会使得对方在改变 ...

  7. leetcode 712. Minimum ASCII Delete Sum for Two Strings | 712. 两个字符串的最小ASCII删除和(暴力递归->傻缓存->DP)

    题目 https://leetcode.com/problems/minimum-ascii-delete-sum-for-two-strings/ 题解 经典的 暴力递归 -> 傻缓存 -&g ...

  8. leetcode 1143. Longest Common Subsequence | 1143. 最长公共子序列(动态规划,暴力递归->傻缓存->dp)

    题目 https://leetcode.com/problems/longest-common-subsequence/ 题解 经典的 暴力递归 -> 傻缓存 -> dp 题目,以 &qu ...

  9. leetcode 714. Best Time to Buy and Sell Stock with Transaction Fee | 714. 买卖股票的佳最时机含手续费(递归->傻缓存->dp)

    题目 https://leetcode.com/problems/best-time-to-buy-and-sell-stock-with-transaction-fee/ 题解 经典的 暴力递归 - ...

最新文章

  1. R语言可视化包ggplot2移除(remove)可视化结果的图例(legend)实战
  2. 【年终总结】2019年有三AI知识星球做了什么,明年又会做什么
  3. java 定时_Java线上定时任务不定期挂掉问题分析
  4. s5pv210——nandflash和inand的基础理论
  5. java 原子类_小学妹教你并发编程的三大特性:原子性、可见性、有序性
  6. 米斯特白帽培训讲义 漏洞篇 XSS
  7. Java数组之冒泡排序
  8. Docker删除镜像是报错:Error response from daemon: conflict: unable to remove repository reference “xxx“
  9. 浅谈打印机驱动安装的常见方法及安全防护
  10. 如何将PPT制成二维码?
  11. windows微信多开
  12. 记一次muse-ui 使用
  13. dsa签名 linux_linux SElinux防护 加密解密 gpg签名与认证
  14. 信创培训第一课:linux操作系统基础
  15. 如何在鼠标右键菜单中添加自定义菜单?工效率提升一倍
  16. NIST加密标准是什么意思?
  17. 阿里P8架构师深度概述互联网分布式架构
  18. Centos6.6安装简易桌面环境
  19. 照镜子——2018年2月3-6日
  20. Xcode 11的问题及 Xcode 11 beta 1和beta 2 版下载链接, 官方下载后上传到百度网盘的.

热门文章

  1. BorderDet论文解读
  2. HDU4307(最小割)
  3. 小红伞和NOD32基于源码的免杀经验总结
  4. C++虚继承(六) --- 虚继承浅析
  5. (八)boost库之异常处理
  6. WINVER和_WIN32_IE等宏的含义
  7. Chromium Android开发的Eclipse配置
  8. Caddy Web服务器QUIC部署
  9. 浅谈 FTP、FTPS 与 SFTP
  10. 小红书shield算法分析