java統計出現次數超過一半的數
阿新 • • 發佈:2021-01-26
統計出現次數超過一半的數
給出一個含有 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");
}
}
}
結果展示: