题解 | #24点游戏算法#

24点游戏算法

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

function isGetCorrectVal(nums) {
    let flag = false;
    const limit = 24;
    function calc(list, result) {
        if (result > limit) return;
        if (result === limit) {
            flag = true;
            return;
        }
        for (let i = 0, len = list.length; i < len; i++) {
            let newList = list.slice();
            newList.splice(i, 1);
            if (result === 0) {
                calc(newList, list[i]);
            } else {
                calc(newList, result + list[i]);
                calc(newList, result - list[i]);
                calc(newList, result * list[i]);
                calc(newList, result / list[i]);
                calc(newList, list[i] - result);
                calc(newList, list[i] / result);
            }
        }
    }
    calc(nums, 0);
    return flag;
}
while (line = readline()) {
    print(isGetCorrectVal(line.split(' ').map(num => parseInt(num, 10))));
}

全部评论

相关推荐

10-24 00:54
已编辑
门头沟学院 Java
牛客20646354...:这连小厂都找不到就离谱,只能说可能你根本没投什么小厂。说实话现在都要11月了,没什么岗位了。其实最好是在9月找,那时候暑假工刚走,岗位多的是,现在都占满了岗位了,秋招的秋招,顶替暑假工的也基本上都顶替了。 只能多投了,简历其实都差不多,你这都不是外卖+点评去找实习了,已经比好多人优秀了。实在找不到,可以降低一些标准的,能投到自研项目的小厂说实话可能比你去中大厂能学到更多东西。因为中大厂最多给你看一点点模块功能,小厂基本上全部代码甚至几个项目的代码都能拿到。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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