時間限制: 1000 ms 記憶體限制: 65536 kb
提交數: 2460 通過數: 1110
給出乙個含有n(0 < n ≤ 1000)個整數的陣列,請找出其中出現次數超過一半的數。陣列中的數大於-50且小於50。
第一行包含乙個整數n,表示陣列大小;
第二行包含n個整數,分別是陣列中的每個元素,相鄰兩個元素之間用單個空格隔開。
如果存在這樣的數,輸出這個數;否則輸出no。
3 1 2 2
no
#include
#include
#include
using
namespace
std;
int main()
sort(a,a+n); //進行排序
for(int i=0;iif(a[i]==a[i+1]) //計算相同的數字次數
else
t=1;}}
if(max>(n/2)) //判斷重複次數最多的數字次數是否超過總數一半
return
0;}
1.先將數字進行排序
2.然後計算出現次數最多數字的次數
3.再進行判斷是否超過總數的一半
1186 出現次數超過一半的數
1186 出現次數超過一半的數 時間限制 1000 ms 記憶體限制 65536 kb 題目描述 給出乙個含有n 0 n 1000 個整數的陣列,請找出其 現次數超過一半的數。陣列中的數大於 50且小於50。輸入 第一行包含乙個整數n,表示陣列大小 第二行包含n個整數,分別是陣列中的每個元素,相鄰兩...
1186 出現次數超過一半的數
題目描述 給出乙個含有n 0 n 1000 個整數的陣列,請找出其 現次數超過一半的數。陣列中的數大於 50且小於50。輸入 第一行包含乙個整數n,表示陣列大小 第二行包含n個整數,分別是陣列中的每個元素,相鄰兩個元素之間用單個空格隔開。輸出 如果存在這樣的數,輸出這個數 否則輸出no。輸入樣例 3...
1186 出現次數超過一半的數 資料排序
1186 出現次數超過一半的數 資料排序 時間限制 1000 ms 記憶體限制 65536 kb 提交數 9902 通過數 4576 題目描述 給出乙個含有n 0 n 1000 個整數的陣列,請找出其 現次數超過一半的數。陣列中的數大於 50且小於50。輸入 第一行包含乙個整數n,表示陣列大小 第二...