問題描述
編寫乙個程式,讀入一組整數,這組整數是按照從小到大的順序排列的,它們的個數n也是由使用者輸入的,最多不會超過20。然後程式將對這個陣列進行統計,把出現次數最多的那個陣列元素值列印出來。如果有兩個元素值出現的次數相同,即並列第一,那麼只列印比較小的那個值。
輸入格式:第一行是乙個整數n,n £ 20;接下來有n行,每一行表示乙個整數,並且按照從小到大的順序排列。
輸出格式:輸出只有一行,即出現次數最多的那個元素值。
輸入輸出樣例
樣例輸入 5
100150
150200
250
樣例輸出
150
本以為是一道水題,隨便寫一發,沒想到只有80分,我覺得有點奇怪。就是兩個資料錯誤
理論上,輸出0/-1 應該輸出0/-1才對。。
#include"stdio.h"
#include"stdlib.h"
#include"string.h"
#include"iostream"
#include"algorithm"
using namespace std;
const int maxn=100000; //有可能是負數
int cnt[maxn];
int cnt_p[maxn]; //統計負數
int main()
} else}}
if(ans==0||ans==-1) //特殊處理這兩個資料才通過了
cout<
已經無力吐槽!! 演算法訓練 出現次數最多的整數
問題描述 編寫乙個程式,讀入一組整數,這組整數是按照從小到大的順序排列的,它們的個數n也是由使用者輸入的,最多不會超過20。然後程式將對這個陣列進行統計,把出現次數最多的那個陣列元素值列印出來。如果有兩個元素值出現的次數相同,即並列第一,那麼只列印比較小的那個值。輸入格式 第一行是乙個整數 n,n ...
演算法訓練 出現次數最多的整數
演算法訓練 出現次數最多的整數 時間限制 1.0s 記憶體限制 512.0mb 問題描述 編寫乙個程式,讀入一組整數,這組整數是按照從小到大的順序排列的,它們的個數n也是由使用者輸入的,最多不會超過20。然後程式將對這個陣列進行統計,把出現次數最多的那個陣列元素值列印出來。如果有兩個元素值出現的次數...
演算法訓練 出現次數最多的整數
演算法訓練 出現次數最多的整數 時間限制 1.0s 記憶體限制 512.0mb 問題描述 編寫乙個程式,讀入一組整數,這組整數是按照從小到大的順序排列的,它們的個數n也是由使用者輸入的,最多不會超過20。然後程式將對這個陣列進行統計,把出現次數最多的那個陣列元素值列印出來。如果有兩個元素值出現的次數...