查询出现最多次数的数(重复的也都输入出来)
#include<iostream> #include<map> using namespace std; void main() { map<int,int> m; int u,v; cin>>v; int flag; for(int i=0;i<v;i++) { cin>>u; m[u]++; } int ans,count=0; for(map<int,int>::iterator it=m.begin();it!=m.end();it++) { if(it->second>count) count=it->second; flag=count; } cout<<flag<<endl; for(map<int,int>::iterator its=m.begin();its!=m.end();its++) { if(flag==its->second) cout<<its->first<<endl; } }
这个是我上一个的写的改进版。
提示我自己的一点是:
int ans,count=0;
for(map<int,int>::iterator it=m.begin();it!=m.end();it++) { if(it->second>count) //这个就是说在一个数组或者一堆数中找到最大的那个写法,从第一个数开始,又比它大的就记下来,最后记住了最大的数。 count=it->second; }
#include<iostream>#include<map>using namespace std;void main(){map<int,int> m;int u,v;cin>>v;int flag;for(int i=0;i<v;i++){cin>>u;m[u]++;}int ans,count=0;for(map<int,int>::iterator it=m.begin();it!=m.end();it++){if(it->second>count)count=it->second;flag=count;}cout<<flag<<endl;for(map<int,int>::iterator its=m.begin();its!=m.end();its++){if(flag==its->second)    cout<<its->first<<endl;}
}
    along
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号