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

题目:

题解:

Go 复制代码
func canCross(stones []int) bool {
    n := len(stones)
    dp := make([][]bool, n)
    for i := range dp {
        dp[i] = make([]bool, n)
    }
    dp[0][0] = true
    for i := 1; i < n; i++ {
        if stones[i]-stones[i-1] > i {
            return false
        }
    }
    for i := 1; i < n; i++ {
        for j := i - 1; j >= 0; j-- {
            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
}
相关推荐
圣保罗的大教堂1 小时前
leetcode 2348. 全 0 子数组的数目 中等
leetcode
Tisfy4 小时前
LeetCode 837.新 21 点:动态规划+滑动窗口
数学·算法·leetcode·动态规划·dp·滑动窗口·概率
tkevinjd7 小时前
图论\dp 两题
leetcode·动态规划·图论
xy_recording10 小时前
Day08 Go语言学习
开发语言·学习·golang
吧唧霸10 小时前
golang读写锁和互斥锁的区别
开发语言·算法·golang
1白天的黑夜111 小时前
链表-2.两数相加-力扣(LeetCode)
数据结构·leetcode·链表
上海迪士尼3511 小时前
力扣子集问题C++代码
c++·算法·leetcode
熬了夜的程序员11 小时前
【LeetCode】16. 最接近的三数之和
数据结构·算法·leetcode·职场和发展·深度优先
Miraitowa_cheems11 小时前
LeetCode算法日记 - Day 15: 和为 K 的子数组、和可被 K 整除的子数组
java·数据结构·算法·leetcode·职场和发展·哈希算法