中國大學MOOC-陳越、何欽銘-資料結構-2018秋——電話聊天狂人
阿新 • • 發佈:2018-12-05
我的中國大學MOOC-陳越、何欽銘-資料結構-2018秋程式碼倉:https://github.com/617076674/MOOC-DataStructure-2018-Autumn
題目描述:
知識點:map集合的應用
思路:用map集合儲存每個人的號碼及其通話次數
時間複雜度和空間複雜度均是O(N)。
C++程式碼:
#include<iostream> #include<map> #include<vector> using namespace std; int N; long long num1, num2; map<long long, int> countMap; vector<long long> maxCallTimesPeople; int main(){ scanf("%d", &N); for(int i = 0; i < N; i++){ scanf("%lld %lld", &num1, &num2); countMap[num1]++; countMap[num2]++; } int maxCallTimes = 0; for(map<long long, int>::iterator it = countMap.begin(); it != countMap.end(); it++){ if(it->second > maxCallTimes){ maxCallTimes = it->second; } } for(map<long long, int>::iterator it = countMap.begin(); it != countMap.end(); it++){ if(it->second == maxCallTimes){ maxCallTimesPeople.push_back(it->first); } } if(maxCallTimesPeople.size() == 1){ printf("%lld %d\n", maxCallTimesPeople[0], maxCallTimes); }else{ printf("%lld %d %d\n", maxCallTimesPeople[0], maxCallTimes, maxCallTimesPeople.size()); } return 0; }
C++解題報告: