控制for each循环次数_CCF CSP编程题解201312-1:出现次数最多的数
生活随笔
收集整理的這篇文章主要介紹了
控制for each循环次数_CCF CSP编程题解201312-1:出现次数最多的数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
試題編號:201312-1
試題名稱:出現次數最多的數
時間限制:1.0s
內存限制:256.0MB
問題描述:
給定n個正整數,找出它們中出現次數最多的數。如果這樣的數有多個,請輸出其中最小的一個。
輸入格式:
輸入的第一行只有一個正整數n(1 ≤ n ≤ 1000),表示數字的個數。
輸入的第二行有n個整數s1, s2, …, sn (1 ≤ si ≤ 10000, 1 ≤ i ≤ n)。相鄰的數用空格分隔。
輸出格式:
輸出這n個次數中出現次數最多的數。如果這樣的數有多個,輸出其中最小的一個。
樣例輸入:
610 1 10 20 30 20樣例輸出:
10
c++版本題解:
#include using namespace std; int main(){ map m; //map的key是正整數,value是其在數組中出現的次數 int n; cin >> n; //n個正整數 for (int i = 0; i < n; i++) //輸入正整數并記錄它們在數組中出現的次數 { int temp; cin >> temp; m[temp]++; } int ans,max=0; //ans用來存放出現次數最多的正整數,max用來記錄出現最多的次數 for(auto it:m) //for-each循環遍歷map { if(it.second > max) //若某個數出現次數大于max { max = it.second; //更新出現最多的次數max ans = it.first; //更新出現最多次的正整數 } } cout << ans << endl; return 0;}python版本題解:
n=int(input())#開辟數組num=[]for i in range(10001): num+=[0]#讀入數據s=input().split()for i in range(n): s[i]=int(s[i]) #將這個數字對應的num+1 num[s[i]]+=1#尋找出現最多的數字#0位置存儲最多出現幾次。1位置存儲數組下標max_num=[0,0]for i in range(10001): #如果出現次數比max【0】還大,更新max if num[i]>max_num[0]: max_num[0],max_num[1]=num[i],iprint(max_num[1])總結
以上是生活随笔為你收集整理的控制for each循环次数_CCF CSP编程题解201312-1:出现次数最多的数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 查看队列深度_不为人知的网络编程(十一)
- 下一篇: pytorch tensor查找0_Py