1. 程式人生 > 其它 >java統計出現次數超過一半的數

java統計出現次數超過一半的數

技術標籤:java演算法資料結構

統計出現次數超過一半的數

給出一個含有 n(0<n≤1000) 個整數的陣列,請找出其中出現次數超過一半的數。
陣列中的數大於 − 50 且小於 50。
輸出格式
如果存在這樣的數,輸出這個數;否則輸出"no"。
輸出時每行末尾的多餘空格,不影響答案正確性
樣例輸入

3
1 2 2

樣例輸出

2

具體解答:

public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		int n = s.nextInt();
		if(n>0 &&
n<=1000 ) { int[] arr = new int[n]; for(int i=0;i<arr.length;i++) { arr[i]=s.nextInt(); } boolean b = false; for(int j=-50;j<50;j++){ int k=0; for(int i=0;i<arr.length;i++) { if(arr[i]==j) { k++; } } if(k>(arr.length/2)){ System.out.
println(arr[k-1]);//此處如果不是k-1的話會有個bug, b=true; } } if(b==false) { System.out.println("no"); } } }

結果展示:
在這裡插入圖片描述