import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int[] colors = new int[n];
        for (int i = 0; i < n; i++) {
            colors[i] = scanner.nextInt();
        }
        
        Map<Integer, Integer> countMap = new HashMap<>();
        int maxHappyDays = 0;
        
        for (int i = 0; i < n; i++) {
            countMap.put(colors[i], countMap.getOrDefault(colors[i], 0) + 1);
            
            int count1 = countMap.getOrDefault(1, 0);
            int count4 = countMap.getOrDefault(4, 0);
            int count5 = countMap.getOrDefault(5, 0);
            
            if (count1 >= 2 && count4 >= 2) {
                maxHappyDays = Math.max(maxHappyDays, Math.min(count1, count4) / 2);
            }
            
            if (count1 >= 1 && count4 >= 1 && count5 >= 1) {
                maxHappyDays = Math.max(maxHappyDays, Math.min(count1, Math.min(count4, count5)));
            }
        }
        
        System.out.println(maxHappyDays);
    }
}
``
使用java完成编译在一个main方法中完成举个例子小美有6颗彩虹糖颜色分别是【114514】。小美第一天吃颜色为1和4的彩虹糖小美会很高兴;小美第二天吃颜色为4和1的彩虹糖小美不会很高兴;小美第三天吃颜色为1和5的彩虹糖小美会很高兴;此时小美共有2天很高兴。小美想知道她最多会有几天很高兴。输入描述:第一行输入一个整数n表示彩虹糖数量第二行输入n个整数表示彩虹糖颜色输出描述:输出一个整数表示答案

原文地址: http://www.cveoy.top/t/topic/iWfw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录