Java | Leetcode Java题解之第403题青蛙过河

题目:

题解:

java 复制代码
class Solution {
    public boolean canCross(int[] stones) {
        int n = stones.length;
        boolean[][] dp = new boolean[n][n];
        dp[0][0] = true;
        for (int i = 1; i < n; ++i) {
            if (stones[i] - stones[i - 1] > i) {
                return false;
            }
        }
        for (int i = 1; i < n; ++i) {
            for (int j = i - 1; j >= 0; --j) {
                int k = stones[i] - stones[j];
                if (k > j + 1) {
                    break;
                }
                dp[i][k] = dp[j][k - 1] || dp[j][k] || dp[j][k + 1];
                if (i == n - 1 && dp[i][k]) {
                    return true;
                }
            }
        }
        return false;
    }
}
相关推荐
努力的小南3 分钟前
Java字节码文件常量池索引两个问题
java·常量池·字节码文件·黑马jvm字节码文件常量池索引
期待のcode8 分钟前
Java的抽象类和接口
java·开发语言
while(1){yan}10 分钟前
SpringDI
java·jvm·spring·java-ee
陈平安安13 分钟前
设计一个秒杀功能
java·数据库·sql
TAEHENGV23 分钟前
基本设置模块 Cordova 与 OpenHarmony 混合开发实战
android·java·数据库
千寻技术帮33 分钟前
10422_基于Springboot的教务管理系统
java·spring boot·后端·vue·教务管理
yoke菜籽36 分钟前
LeetCode——三指针
算法·leetcode·职场和发展
milanleon42 分钟前
使用Spring Security进行登录认证
java·前端·spring
毕设源码-朱学姐1 小时前
【开题答辩全过程】以 三叶草中石油信息管理系统的设计与实现为例,包含答辩的问题和答案
java·eclipse