题解 | #打牌#

打牌

https://www.nowcoder.com/practice/82442ee76977479e8ab4b88dfadfca9f


import java.util.Map;
import java.util.Scanner;

public class Main {
    public static boolean isBigger(String s, String enemy) {
        int[] hash = new int[10];
        for (int i = 0; i < s.length(); i++) {
            hash[s.charAt(i) - '0']++;
        }
        int len = enemy.length();
        if (len < 5) {
            for (int i = enemy.charAt(0) - '0' + 1; i < 10; i++) {
                if (hash[i] >= len) {
                    return true;
                }
            }
            return false;
        } else {
            int start = enemy.charAt(0) - '0' + 1;
            int maxLength = 0;
            int nowLen = 0;
            for (int i = start; i < 10; i++) {
                if (hash[i] > 0) {
                    nowLen++;
                } else
                    nowLen = 0;
                maxLength = Math.max(nowLen, maxLength);
            }
            return maxLength >= 5;
        }
    }
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()) {
            String s = scanner.next();
            String enemy = scanner.next();
            String ans = isBigger(s, enemy) ? "YES" : "NO";
            System.out.println(ans);
        }
    }
}

该题考点:

(1)hash表

(2)最长递增子序列长度

全部评论

相关推荐

勇敢的90后想交流:我愿意付费上班,楼主你就安心字节待着吧,我是真的喜欢上班
点赞 评论 收藏
分享
09-17 17:09
门头沟学院 Java
雨忄:有人给出过解法,拖晚点去,然后到时候再找其他理由商量,既增加他们的筛人成本,不一定会给你收回offer ,也能占位避免工贼
秋招的嫡长offer
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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