1186 出現次數超過一半的數

2021-08-25 14:21:55 字數 630 閱讀 6048

時間限制: 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,表示陣列大小 第二...