2025年北京大学计算机保研复试机试真题

2025年北京大学计算机保研复试上机真题

历年北京大学计算机保研复试上机真题

历年北京大学计算机保研复试机试真题

更多学校题目开源地址:https://gitcode.com/verticallimit1/noobdream

N 诺 DreamJudge 题库:输入 “学校名称” 即可筛选该校历年机试真题,题目均在考纲范围内,按难度自动排序。还可搭配《计算机考研机试攻略》刷题,书中题目可通过题号直接在题库中查找。

统计字符数

题目描述

Time Limit: 1000 ms
Memory Limit: 256 mb

给定一个由a-z这26个字符组成的字符串,统计其中哪个字符出现的次数最多。

输入输出格式
输入描述:

输入包含一行,一个字符串,长度不超过1000。

输出描述:

输出一行,包括出现次数最多的字符和该字符出现的次数,中间以一个空格分开。如果有多个字符出现的次数相同且最多,那么输出ascii码最小的那一个字符。

输入输出样例
输入样例#:
abbccc
输出样例#:
c 3

#include <iostream>
#include <string>
#include <vector>
using namespace std;

int main() {
    string s;
    // 读取输入字符串
    cin >> s;
    // 用于记录每个字符(a - z 对应索引 0 - 25)出现的次数
    vector<int> count(26, 0);
    for (char c : s) {
        // 将字符转换为对应索引并计数
        count[c - 'a']++;
    }
    int maxCount = 0;
    char result = 'a';
    for (int i = 0; i < 26; ++i) {
        if (count[i] > maxCount) {
            maxCount = count[i];
            result = 'a' + i;
        } else if (count[i] == maxCount && ('a' + i) < result) {
            // 出现次数相同,取 ASCII 码小的字符
            result = 'a' + i;
        }
    }
    // 输出结果,字符和其出现次数
    cout << result << " " << maxCount << endl;
    return 0;
}

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐