寻找连续且重复次数最多的 string 和其次数

从标准输入读入一系列string对象,寻找连续重复出现的单词

程序应该找出满足以下条件的单词的输入位置:该单词的后面紧跟着再次出现自己本身,跟踪重复次数多的单词及其重复次数.输出重复次数的最大值。

没错,C++ 吧里有人问的,我觉得如果只是单纯的想知道重复次数最多的单词,可以这样:

void foo()
{
    string input;
    string current;
    string maxStr;
    size_t max = 1;
    size_t count = 1;
    bool init = false;
    
    while (cin >> input){
        if (!init){
            maxStr = current = input;
            init = true;
        }
        else if (input == current){
            ++count;
        }
        else if(count > max){
            maxStr = current;
            max = count;
            current = input;
            count = 1;
        }
        else{
            current = input;
            count = 1;
        }
    }
    
    cout << maxStr << " " << max;
}

 

posted @ 2015-08-24 13:37  wu_overflow  阅读(254)  评论(0编辑  收藏  举报