• A1071 Speech Patterns (25分)


    思路如下

      每个 word 视为一个键,然后每枚举一个该键字符,该键相对应的值就加一。即取 string 到 int 的映射

    /* 伪码 */
    for (枚举每个字符) {
        if (当前字符是 alpha cha) {
            if (是大写)    键 = 键 + 其小写
            else    键 = 键 + *it
        } else    continue;//跳过其他字符
    
        if (下一个字符不是 alpha cha) {
            if (键在 map 中不存在) {
                map[键] = 1;//初始为 1
            } else {
                int ori = map[键];
                ori++;
                map[键] = ori;//下标访问会覆盖
            }
            键.clear()
        }
    }

      由于 map 里的 key 是自动按字典序排序的,所以只要顺序遍历,找到第一个最大的就行了

    /* 伪码 */
    string max_key; int max_val = -1;
    for (遍历 map) {
        if (it->second > max_val) {//用 ">" 来找最大,相等的不会再进来,以此保证找到的最大肯定是字典序排列的第一个
            max_val = it->second;
            max_key = it->first;
        }
    }

    题目比较简单,刷完后记录下我遇到的小问题:

    1. 输入一整行用 getline():

            getline() 这样用, getline(cin, string类对象); 

    2. map.find(键) 找到返回迭代器类型,找不到返回 map.end()

    3. 一般 PA 剩余不通过的都是特例,比如这题:

            特例就是一个字符的字符串。同样以后见字符串类题目 PA 就想 1) 单个字符; 2) 是否空格、回车为题目特例字符;见数字类题目 PA 就想 1) 0

    点击跳转代码地址

     
  • 相关阅读:
    FindBugs详解
    Java杂项
    Ubuntu 16.04安装DB2 Express C v11.1
    h5搜索功能
    与安卓交互的上传图片 与 上传语音、视频
    获取后台轮播图图片,让其自动播放
    点赞和关注功能
    split、replace、indexof、substr 用法 (获取后台富文本框内容,截取图片)
    ttyu平台进页面获取阅读量
    图片放大预览功能
  • 原文地址:https://www.cnblogs.com/bEngi1/p/14353788.html
Copyright © 2020-2023  润新知