使用java完成编译小美有6颗彩虹糖颜色分别是【114514】。小美第一天吃颜色为1和4的彩虹糖小美会很高兴;小美第二天吃颜色为4和1的彩虹糖小美不会很高兴;小美第三天吃颜色为1和5的彩虹糖小美会很高兴;此时小美共有2天很高兴。小美想知道她最多会有几天很高兴。
可以使用Java编写一个方法来解决这个问题。首先,我们需要统计彩虹糖中每个颜色出现的次数。然后,我们遍历彩虹糖的颜色数组,计算小美每天吃的彩虹糖的颜色是否满足条件,如果满足则将小美的高兴天数加1。
下面是完整的Java代码:
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
int[] colors = {1, 1, 4, 5, 1, 4};
int days = countHappyDays(colors);
System.out.println("小美最多会有" + days + "天很高兴");
}
public static int countHappyDays(int[] colors) {
HashMap<Integer, Integer> colorCount = new HashMap<>();
int happyDays = 0;
// 统计每个颜色出现的次数
for (int color : colors) {
colorCount.put(color, colorCount.getOrDefault(color, 0) + 1);
}
// 遍历彩虹糖颜色数组,判断是否满足条件
for (int i = 0; i < colors.length - 1; i++) {
int color1 = colors[i];
int color2 = colors[i + 1];
if ((color1 == 1 && color2 == 4) || (color1 == 4 && color2 == 1)) {
happyDays++;
}
}
return happyDays;
}
}
运行这段代码,输出结果为:
小美最多会有2天很高兴
这表示小美最多会有2天很高兴
原文地址: https://www.cveoy.top/t/topic/iWbS 著作权归作者所有。请勿转载和采集!