題目描述
已知乙個整數序列a=(a0,a1,…an),如果其中有乙個元素的出現次數超過n/2,就稱該元素為a的主元素,否則就稱整數序列沒有主元素。例如a=(0,5,5,3,5,7,5,5),則5為主元素。a=(0,5,5,3,5,1,5,7),則a中沒有主元素。要求編寫程式實現尋找給定整數序列的主元素,如果找到,則輸出主元素。如果沒有找到,則輸出**-1。
輸入**
第一行為整數序列的個數n
第二行為乙個整數序列。
輸出
如果找到主元素,輸出主元素的值,否則輸出-1。
樣例輸入8
0 5 5 3 5 7 5 5
樣例輸出
思路:定義兩個陣列,分別用來儲存輸入的資料和資料出現最多的次數(如果有的話),然後再用乙個標記變數來記錄出現次數最多資料元素,再將其輸出即可
#include
#include
using
namespace std;
int n;
int flag=0;
int str[
999]
;int ans[
1000]=
;int
main()
for(
int i=
0;ifor(
int i=
0;i(flag!=0)
cout<;else
cout<<
"-1"
;return0;
}
1777 尋找整數
1777 尋找整數 時間限制 1000 ms 記憶體限制 262144 kb 題目描述 給定整數m,k,求出正整數n使得n 1,n 2,2n 中恰好有m個數在二進位制下恰好有k個1。有多組資料。輸入 第一行乙個整數 t表示資料組數。接下來 t 行每行兩個整數m,k。輸出 每組資料輸出一行兩個整數,第...
OJ 1036 正整數序列
描述 給定正整數n,你的任務是用最少的運算元把序列1,2,3,n 1,n都變成0.每次操作可從序列中選擇乙個或多個整數,同時減去乙個相同的正整數.比如1,2,3可以把2,3同時減去2,變成1,0,1.輸入多組測試資料,每組僅一行,為正整數n.1 n 10 9 輸出對於每組資料輸出最少的操作次數 輸入...
尋找符合條件的整數
題目 任意給定乙個正整數n,求乙個最小的正整數m m 1 使得n m的十進位制表示形式裡只含有1和0.解決這個問題首先考慮對於任意的n,是否這樣的m一定存在。可以證明,m是一定存在的,而且不唯一。簡單證明 因為 這是乙個無窮數列,但是數列中的每一項取值範圍都在 0,n 1 之間。所以這個無窮數列中間...