在 leetcode 测试超时了

来源:14-4 k站中转站-代码实操

机智帅气的小雨

2020-07-05

图片描述

var findCheapestPrice = function (n, fights, src, dst, k) {
    // 将fights作为参数和LeetCode一致
    let cheap = (fights, src, dst, k) => {
        let prev = fights.filter(item => item[1] === dst)
        let min = Math.min.apply(null, prev.map(item => {
            if (item[0] === src && k > -1) {
                return item[2]
            } else if (k === 0 && item[0] !== src) {
                return Number.MAX_SAFE_INTEGER
            } else {
                return item[2] + cheap(fights, src, item[0], k - 1)
            }
        }))
        return min
    }
    // 增加返回值是不是Number.MAX_SAFE_INTEGER,如果是返回-1
    let min = cheap(fights, src, dst, k)
    return min >= Number.MAX_SAFE_INTEGER ? -1 : min
}
写回答

1回答

慕粉1926294646

2020-11-07

嗯,LeetCode 对于递归限制了执行时间

0
0

JavaScript版 数据结构与算法

填补前端同学的算法短板,掌握面试中最常见的算法与数据结构

2467 学习 · 395 问题

查看课程