题解 | #24点游戏算法#

24点游戏算法

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

找到一种考虑到括号的解法了 function helper(list){

if(list.length === 1){
    return list[0] === 24
}else if(list.length > 1){
    for(let i=0;i < list.length;i++){
        for(let j=i + 1;j < list.length;j++){
            let m = list[i]
            let n = list[j]
            let arr = i > 0 ? list.slice(0,i) : []
            arr = arr.concat(list.slice(i+1,j)).concat(list.slice(j+1))
            let res1 = helper(arr.concat(m+n))
            let res2 = helper(arr.concat(m-n))
            let res3 = helper(arr.concat(m*n))
            let res4 = helper(arr.concat(n-m))
            let res5 = (n % m ===0) && helper(arr.concat(n / m))
            let res6 = (m % n ===0) && helper(arr.concat(m / n))
            if(res1 || res2 || res3 || res4 || res5 || res6){
                        return true
            }
        }
    }
    return false
}

} let list = readline().split(' ').map(item => parseInt(item)) print(helper(list))

全部评论

相关推荐

我是没经验的毕业生,这啥情况啊会不会是hr在刷kpi
JamesGosli...:字节boss属于是群发了,我都快入职字节了,其他部门还在和我boss打招呼
点赞 评论 收藏
分享
Gaynes:查看图片
点赞 评论 收藏
分享
陈逸轩1205:才105 哥们在养生呢
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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