C语言 | Leetcode题解之第403题青蛙过河

题目:

题解:

cpp 复制代码
bool canCross(int* stones, int stonesSize) {
    int dp[stonesSize][stonesSize];
    memset(dp, 0, sizeof(dp));
    dp[0][0] = true;
    for (int i = 1; i < stonesSize; ++i) {
        if (stones[i] - stones[i - 1] > i) {
            return false;
        }
    }
    for (int i = 1; i < stonesSize; ++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 == stonesSize - 1 && dp[i][k]) {
                return true;
            }
        }
    }
    return false;
}
相关推荐
dazzle11 小时前
机器学习算法原理与实践-入门(三):使用数学方法实现KNN
人工智能·算法·机器学习
那个村的李富贵11 小时前
智能炼金术:CANN加速的新材料AI设计系统
人工智能·算法·aigc·cann
风指引着方向12 小时前
图编译优化全链路:CANN graph-engine 仓库技术拆解
c语言
张张努力变强12 小时前
C++ STL string 类:常用接口 + auto + 范围 for全攻略,字符串操作效率拉满
开发语言·数据结构·c++·算法·stl
万岳科技系统开发12 小时前
食堂采购系统源码库存扣减算法与并发控制实现详解
java·前端·数据库·算法
wWYy.12 小时前
数组快排 链表归并
数据结构·链表
张登杰踩12 小时前
MCR ALS 多元曲线分辨算法详解
算法
C++ 老炮儿的技术栈12 小时前
VS2015 + Qt 实现图形化Hello World(详细步骤)
c语言·开发语言·c++·windows·qt
YuTaoShao12 小时前
【LeetCode 每日一题】3634. 使数组平衡的最少移除数目——(解法一)排序+滑动窗口
算法·leetcode·排序算法
Once_day12 小时前
C++之《Effective C++》读书总结(4)
c语言·c++·effective c++