题解 | #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-25 17:51
点赞 评论 收藏
分享
07-25 11:12
重庆大学 C++
既然这么缺人,为什么挂我呢
希望被offer砸中...:其实不缺人
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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