扑克大小(JAVA)

扑克牌大小

http://www.nowcoder.com/questionTerminal/d290db02bacc4c40965ac31d16b1c3eb

import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        while(in.hasNext()){
            String s = in.nextLine();
            String[] arr = s.split("-");
            System.out.println(helper(arr[0], arr[1]));
            //System.out.println(isBoom(arr[1]));
        }
    }
    private static String helper(String s1, String s2){
        HashMap<String, Integer> map = new HashMap<String, Integer>(){
            {
                put("A", 14);
                put("2", 15);
                put("3", 3);
                put("4", 4);
                put("5", 5);
                put("6", 6);
                put("7", 7);
                put("8", 8);
                put("9", 9);
                put("10", 10);
                put("J", 11);
                put("Q", 12);
                put("K", 13);
                put("joker", 16);
                put("JOKER", 17);
            }
        };
        if (s1.equals("joker JOKER") || s1.equals("JOKER joker")){
            return s1;
        }else if (s2.equals("joker JOKER") || s2.equals("JOKER joker")){
            return s2;
        } 
        String[] arr1 = s1.split(" ");
        int n1 = map.get(arr1[0]);
        String[] arr2 = s2.split(" ");
        int n2 = map.get(arr2[0]);
        if (isBoom(s2) && isBoom(s1)){
            return n1 > n2 ? s1 : s2;
        }else if (isBoom(s2)) {
            return s2;
        }else if (isBoom(s1)) {
            return s1;
        }else if (arr1.length == arr2.length){
            return n1 > n2 ? s1 : s2;
        }else{
            return "ERROR";
        }
    }
    private static boolean isBoom(String s1){
        String[] temp = s1.split(" ");
        if (temp.length != 4) return false;
        String cur = temp[0];
        for (int i = 1; i < 4; i++){
            if (!cur.equals(temp[i])) return false;
        }
        return true;
    }
}
全部评论
不用考虑顺子的顺序是乱的吗?果然是我想多了。。。。
4 回复 分享
发布于 2021-12-05 19:38
感觉炸弹中4个的不用判断,条件限制了4个肯定是炸弹,没有三带一的情况。然后就是判断2个里面有没有对王应该就OK了
1 回复 分享
发布于 2023-02-18 15:45 湖北
nice
点赞 回复 分享
发布于 2020-09-22 11:20
赞👍
点赞 回复 分享
发布于 2021-01-24 10:45
妙啊
点赞 回复 分享
发布于 2021-07-29 17:37
感觉用例是有问题的,缺少一个判断对子三个是否全部相等的情况,以及顺子是顺序有问题的情况
点赞 回复 分享
发布于 2022-07-03 12:44
nice!
点赞 回复 分享
发布于 2022-08-26 14:59 陕西
使用indexOf判断大小还是用hashmap好一点 String s = "3 4 5 6 7 8 9 10 J Q K A 2 joker JOKER"; int num0 = s.indexOf(a0[0]); int num1 = s.indexOf(a1[0]);
点赞 回复 分享
发布于 2023-07-25 14:42 浙江

相关推荐

我即大橘:耐泡王
点赞 评论 收藏
分享
Java抽象带篮子:难蚌,点进图片上面就是我的大头😆
点赞 评论 收藏
分享
22 2 评论
分享
牛客网
牛客企业服务