有一个数组,其中有两个数字5,8,找出数组中这两个数字出现次数较多的是谁,只有一个计数器

有一个数组,其中有两个数字5,8,找出数组中这两个数字出现次数较多的是谁,只有一个计数器

public class Main {
    public static void main(String[] args) {
        int[] nums = {5, 8, 5, 8, 5, 5, 8, 8, 8}; // 示例数组
        System.out.println("出现次数较多的数字是: " + findMoreFrequentNumber(nums));
    }

    /**
     * 使用一个计数器找出数组中5和8哪个出现次数更多。
     * @param nums 包含数字的数组
     * @return 出现次数较多的数字(5或8)
     */
    public static int findMoreFrequentNumber(int[] nums) {
        int count = 0;
        
        for (int num : nums) {
            if (num == 5) {
                count++; // 遇到5就加1
            } else if (num == 8) {
                count--; // 遇到8就减1
            }
        }
        
        // 根据count的正负判断5和8哪个出现次数多
        return count >= 0 ? 5 : 8;
    }
}
posted @ 2024-06-27 23:21  fchhk  阅读(1)  评论(0编辑  收藏  举报