• [原创]百度之星低频词过滤题解


    [原创]百度之星--低频词过滤题解
    第四题(共四题 100 分):低频词过滤( 40 分)

    题目描述:请编写程序,从包含大量单词的文本中删除出现次数最少的单词。如果有多 个单词都出现最少的次数,则将这些单词都删除。

    输入数据:程序读入已被命名为 corpus.txt 的一个大数据量的文本文件,该文件包含英 文单词和中文单词,词与词之间以一个或多个 whitespace 分隔。(为便于调试,您可下载 测试 corpus.txt 文件,实际运行时我们会使用不同内容的输入文件。)

    输出数据:在标准输出上打印删除了 corpus.txt 中出现次数最少的单词之后的文本( 词与词保持原来的顺序,仍以空格分隔)。

    评分标准:程序输出结果必须正确,内存使用越少越好,程序的执行时间越快越好。


    不知有什么更好的解法没,我只知道下面的方法

    #include <iostream>
    #include <fstream>
    #include <string>
    #include <list>
    #include <map>
    using namespace std;
    int main(int argc, char* argv[])
    {
        int i;
        map<string,int> wordrecord;
        string delstr[30];
        string a;
        ifstream in("corpus.txt");
        while(in>>a)
        {
            ++wordrecord[a];
        }
        int mintimes=wordrecord.begin()->second;
        int minnums = 0;
        map<string,int>::iterator mapit = wordrecord.begin();
        //统计出现次数最小的字符串
        while(mapit!=wordrecord.end())
        {
            if((*mapit).second<mintimes)
            {
                minnums = 1;
                delstr[0] = (*mapit).first;
                mintimes = (*mapit).second;
            }
            else if((*mapit).second==mintimes)
            {
                delstr[minnums] = (*mapit).first;
                minnums++;
            }
            ++mapit;
        }
        in.close();
        in.clear();
        in.open("corpus.txt");
        if(!in)
            cout<<"error open!"<<endl;
        //输出未删除的字符串
        while(in>>a)
        {
            bool erase = false;
            for(i=0;i<minnums;i++)
            {
                if(a==delstr[i])
                {
                    erase = true;
                    break;
                }
            }
            if(!erase)
                cout<<a<<" ";
        }
        cout<<endl;
        in.close();
        in.clear();
        return 0;
    }
  • 相关阅读:
    Jmeter实例:cookie
    Jmeter:分布式执行(多台测试机一起执行)
    Jmeter参数化(普通参数、动态参数)
    Jmeter脚本编写、验证、结果查看
    性能测试准备
    性能缺陷分析及定位方法
    Jmeter环境搭建
    SpringBoot获取移动端mobile的信息
    DATE_FORMAT()参数
    Spring web Servcies集成和使用
  • 原文地址:https://www.cnblogs.com/absolute8511/p/1649583.html
Copyright © 2020-2023  润新知