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
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    启动matlab时总是直接跳转到安装界面的解决方案
    毕业倒计时
    PARAMETER和ARGUMENT的区别
    在Windows上使用Ubuntu共享的打印机
    Ubuntu 16.04 + CUDA 8.0 + cuDNN v5.1 + TensorFlow(GPU support)安装配置详解
    深度学习硬件购买指南
    GeForce GTX 1080 ti安装记录
    What is a TensorFlow Session?
    来来来,干了这碗毒鸡汤……
    [译] 理解 LSTM(Long Short-Term Memory, LSTM) 网络
  • 原文地址:https://www.cnblogs.com/lightac/p/10619074.html
Copyright © 2011-2022 走看看