题解 | #扑克牌大小#

扑克牌大小

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

import java.math.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.concurrent.atomic.*;
import java.util.stream.*;
import java.util.regex.*;
import java.util.function.*;

public class Main {

    static String Pokers = "345678910JQKA2jokerJOKER";
    static Map<String, Integer> map = new HashMap<>();
    static {
        map.put("3", 1);
        map.put("4", 2);
        map.put("5", 3);
        map.put("6", 4);
        map.put("7", 5);
        map.put("8", 6);
        map.put("9", 7);
        map.put("10", 8);
        map.put("J", 9);
        map.put("Q", 10);
        map.put("K", 11);
        map.put("A", 12);
        map.put("2", 13);
    }
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.println(pk(in.nextLine().split("-")));
    }

    static String pk(String[] decks) {
        int t1 = getType(decks[0].split(" "));
        int t2 = getType(decks[1].split(" "));
        String s1 = decks[0];
        String s2 = decks[1];
        String s1c1 = s1.split(" ")[0];
        String s2c1 = s2.split(" ")[0];
        if (t1 == t2 && t1 != -1) {
            if (t1 == 0 && decks[0].contains("joker")) {
                return decks[0];
            } else if (t1 == 0 && decks[1].contains("joker")) {
                return decks[1];
            } else if (t1 <= 4 && Pokers.indexOf(s1c1) > Pokers.indexOf(s2c1) ) {
                return decks[0];
            } else if (t1 <= 4 && Pokers.indexOf(s1c1) < Pokers.indexOf(s2c1) ) {
                return decks[1];
            }
        } else {
            if (t1 == 0) {
                return decks[0];
            } else if (t2 == 0) {
                return decks[1];
            }
        }

        return "ERROR";
    }

    static int getType(String[] cards) {
        if (cards.length == 2 && "joker".equals(cards[0]) && "JOKER".equals(cards[1])) {
            return 0;
        }
        if (cards.length == 4 && cards[0].equals(cards[1]) &&
                cards[1].equals(cards[2]) && cards[2].equals(cards[3])) {
            return 0;
        }
        if (cards.length == 5
                && map.get(cards[4]) == map.get(cards[3]) + 1
                && map.get(cards[3]) == map.get(cards[2]) + 1
                && map.get(cards[2]) == map.get(cards[1]) + 1
                && map.get(cards[1]) == map.get(cards[0]) + 1) {
            return 1;
        }
        if (cards.length == 3
                && cards[2].equals(cards[1])
                && cards[1].equals(cards[0])) {
            return 2;
        }

        if (cards.length == 2 && cards[1].equals(cards[0])) {
            return 3;
        }

        if (cards.length == 1) {
            return 4;
        }

        return -1;
    }
}


全部评论

相关推荐

饼子吃到撑:当我看到外企的时候,我就知道这大概率可能是真的
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务