题解 | #扑克牌大小#

扑克牌大小

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

这道题初看很复杂 但仔细思考之后 因为输入的牌型都是标准牌型 相较于斗地主之类的游戏已经简化了很多,归纳总结下来只需要考虑牌的数量相等和不相等两种情况即可 完整代码如下:
while (line = readline()) {
    let arr = line.split('-').map(x => x.split(' '));
    let baseArr = '3 4 5 6 7 8 9 10 J Q K A 2 joker JOKER'.split(' ');
    let len1 = arr[0].length;
    let len2 = arr[1].length;
    //相等的情况最简单,只需要考虑两手牌最小的牌在baseArr中的index即可,哪个index大,相对应的哪手牌就大;
    if (len1 == len2) {
        baseArr.indexOf(arr[0][0]) > baseArr.indexOf(arr[1][0]) 
            ? console.log(arr[0].join(' '))
            : console.log(arr[1].join(' '))
    }
    //两手牌的数量不相等时先考虑两手牌中有没有王炸,再考虑有没有普通炸弹,剩下的情况输出"ERROR"即可;
    else if (len1 != len2) {
        line.includes('joker JOKER') 
            ? console.log('joker JOKER')
            : len1 == 4 ? console.log(arr[0].join(' '))
            : len2 == 4 ? console.log(arr[1].join(' '))
            : console.log('ERROR');
    }
}


全部评论

相关推荐

双非坐过牢:非佬,可以啊10.28笔试,11.06评估11.11,11.12两面,11.19oc➕offer
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务