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;
    }
}
相关推荐
wuminyu3 分钟前
Java世界中StringTable源码剖析
java·linux·c语言·jvm·c++
一个做软件开发的牛马11 分钟前
Spring Boot 自动配置原理揭秘:从 @SpringBootApplication 到手写自定义 Starter
java·后端
人道领域22 分钟前
【LeetCode刷题日记】47.全排列Ⅱ
java·开发语言·算法·leetcode
Navigator_Z26 分钟前
LeetCode //C - 1095. Find in Mountain Array
c语言·算法·leetcode
是苏浙1 小时前
Java实现链表1
java·开发语言
未若君雅裁1 小时前
上传数据安全:对称加密、非对称加密、签名与重放防护
java·安全
可乐ea1 小时前
【Spring Boot + MyBatis|第7篇】JWT 登录认证与拦截器实现
java·spring boot·后端·mybatis·状态模式
步步为营DotNet1 小时前
借助 C# 14 特性强化 .NET 后端数据验证的深度实践
java·c#·.net
西安邮电大学1 小时前
有关栈的经典算法题
java·后端·其他·算法·面试
手握风云-1 小时前
ProtoBuf:从序列化原理到高性能架构底座(一)
java·网络·架构