【牛客网OJ题】输入n个整数,输出出现次数大于等于数组长度一半的数。

    xiaoxiao2025-04-25  39

    题目描述:

    输入n个整数,输出出现次数大于等于数组长度一半的数。

    输入描述:

    每个测试输入包含n个空格分割的n个整数, n不超过100,其中有一个整数出现次数大于等于 n/2.

    输出描述:

    输出出现次数大于等于n/2的数。

    示例1

    输入

    3 9 3 2 5 6 7 3 2 3 3 3

    输出

    3

    分析:

    遍历给定的数组array,用一个新的大小为9的数组arr,用数组的值来记录每个数出现次数。如0出现的次数对应arr[0]的值,1出现的次数对应arr[1]的值·······,依次类推。再次遍历数组,找到数组的值大于array一半的下标并输出。

    public class Solution { public int MoreThanHalfNum_Solution(int [] array) { int[] arr = new int[9]; for(int j = 0;j<array.length;j++){ for(int i = 0;i<=9;i++){ if(array[j] == i){ arr[i]++; } } } int len = array.length/2; int result = 0; for(int i = 0;i<arr.length;i++){ if(arr[i] > len){ result = i; break; } } return result; } }

     

    最新回复(0)