题解 | #24点游戏算法#

24点游戏算法

http://www.nowcoder.com/practice/fbc417f314f745b1978fc751a54ac8cb

let line = readline().split(' ').map(item => Number(item));
let judge = new Array(4).fill(false);
let sign = false;
const dp = (arr, res, judge) => {
    if (res === 24) {
        sign = true;
        return;
    }
    for (let i = 0; i < arr.length; i++) {
        if (judge[i]) continue;
        judge[i] = true;
        dp(arr, res + arr[i], judge);
        dp(arr, res * arr[i], judge);
        dp(arr, res - arr[i], judge);
        dp(arr, res / arr[i], judge);
        judge[i] = false;
    }
};
dp(line, 0, judge);
console.log(sign);

全部评论
这个递归是怎么处理带括号的,比如7744,7*(4-4/7)=24,按照你这递归怎么递归到24的呢
点赞 回复 分享
发布于 2022-07-22 11:15

相关推荐

07-24 13:43
门头沟学院 Java
longerluck...:我猜说的是“你真**是个天才”
投递美团等公司10个岗位
点赞 评论 收藏
分享
头顶尖尖的程序员:我也是面了三四次才放平心态的。准备好自我介绍,不一定要背熟,可以记事本写下来读。全程控制语速,所有问题都先思考几秒,不要急着答,不要打断面试官说话。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务