zoukankan      html  css  js  c++  java
  • HDU 1004

    一道map的水题(sb的我用sort超时了)

    // 超时代码

    #include <string>
    #include <algorithm>
    #include <iostream>
    #include <cstring>
    
    using namespace std;
    
    string a[1010];
    
    int main () {
        int n;
        while (cin >> n && n) {
            memset(a, 0, sizeof(a));
            for (int i = 0; i < n; ++i) {
                string aa;
                cin >> aa;
                a[i] = aa;
            }
            sort(a, a + n);
            int num = 1;
            int temp = 1;
            string ans = a[0];
            string before = a[0];
            // for (int i = 0; i < n; ++i) {
            //     cout << a[i] << "!" << endl;
            // }  
            for (int i = 1; i < n; ++i) {
                if (before == a[i]) {
                    temp ++;
                }
                else {
                    before = a[i];
                    
                }
                if (temp > num) {
                    temp = 1;
                    ans = a[i - 1];
                }
            }
            cout << ans << endl;
        }
    }
    

     //AC代码

    // #include<cstdio>
    // #include<iostream>
    // #include<algorithm>
    // #include<cstring>
    // #include<cstdlib>
    // #include<string>
    // #include<cmath>
    // #include<ctype.h>
    // #include<climits>
    // #include<vector>
    // #include<map>
    // #include<set>
    // #include<queue>
    // #include<functional>
    #include <bits/stdc++.h>
    #define stop while(1);
    #define lowbit(x) (x&(-x))
    #define eps (1e-8)
    #define pi (acos(-1.0))
    #define maxint INT_MAX
    #define maxlong 0xFFFFFFFFFFFFFFFLL 
    using namespace std;
    typedef unsigned long long u64;
    int main()
    {
        int n,i;
        while(cin>>n, n)
        {
            map<string, int>mm;
            map<string, int>::iterator it;
            string ch, ans;
            for (i=0; i < n; i++) {
                cin >> ch;
                mm[ch]++;
            }
            int cnt = 0;
            for(it = mm.begin(); it != mm.end(); it++)
                if(it->second > cnt){
                    cnt = it->second;
                    ans = it->first;
                }    
            cout<<ans<<endl;
        }
    }        
    
    作者:LightAc
    出处:https://www.cnblogs.com/lightac/
    联系:
    Email: dzz@stu.ouc.edu.cn
    QQ: 1171613053
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    [vp]ARC068
    [vp]ARC067
    Vision transformer
    rosetta使用silent格式储存PDB结构,节省本地存储
    CentOS7下安装JDK详细过程
    jdk下载Oracle共享账号
    虚拟机地址发生变化
    字节跳动面试题,给你一个每一项都是数值混乱顺序的数组,只要里面正确顺序的值输出。如[5,1,3,6,2,7],只要[1,2,7]
    spring boot web 第一个项目新建
    xmind-excel
  • 原文地址:https://www.cnblogs.com/lightac/p/10619074.html
Copyright © 2011-2022 走看看