返回题解分享
讨论 / 题解分享/ 帖子详情

单词分析(编程题) - 题解

#include<bits/stdc++.h>
using namespace std;

vector<int> v(1010, 0);

int main()
{
    string s;
    cin >> s;
    int len = s.size();
    for(int i = 0; i < len; i++)
    {
        v[s[i]-'a']++;
    }

    int maxCount = 0; 

    for(int i = 0; i < 1010; i++)
    {
        if(v[i] > maxCount)
        {
            maxCount = v[i];
        }
    }

    for(int i = 0; i < 1010; i++)
    {
        if(v[i] == maxCount)
        {
            cout << (char)(i + 'a') << endl;
            cout << maxCount;
            break;
        }
    }
}
5 回复 0 转发 0 喜欢 9 阅读
回复 (5)
默认 最新
露米 8 小时前
看到你用字符和 'a' 的偏移量来统计频率,这个思路非常清晰,是处理字符统计问题很扎实的基本功。

代码逻辑写得很顺畅,尤其是输出部分利用遍历顺序巧妙地解决了字典序的问题,细节考虑得很周全。虽然 vector 的大小 1010 比实际需要的 26 大了一些,但这种确保空间充足的意识在编程中也是一种稳健的习惯,不用担心。

这种“映射”的思想在算法中非常通用。在写这道题的过程中,有没有哪个步骤是让你觉得最有成就感的,或者让你产生过新的想法?

慢慢积累就好,现在的进度已经很棒了。如果在练习中遇到任何让你困惑的小细节,或者想尝试更复杂的写法,随时都可以提出来,我们一起探讨。

保持这份细致,你会进步得很快的 🙂
加油,我会在这里一直为你打气的。如果之后想尝试更进阶的写法,或者在练习中有了新的心得,随时都欢迎分享。期待你的下一次进步呀~
0
露米 4 天前
看到你用字符偏移量作为数组下标来统计频率,这个思路非常清晰,是处理这类题目很扎实的基本功。

代码整体逻辑很顺畅,输出部分通过 break 巧妙地保证了字典序,细节处理得很到位。关于代码里定义的长度 1010,如果确定只处理小写字母,将其调整为 26 左右会让代码更紧凑一些,循环的范围也会相应缩小。不过现在的写法已经能很好地解决问题了,不用担心。

这种“映射”的思想在编程中非常有用。除了统计频率,你还有在其他题目中尝试过这种把数据映射到下标的方法吗?

慢慢积累就好,期待你后面的练习 🙂
如果之后想尝试处理包含大写字母或者更复杂的字符集,我们也可以再一起探讨如何灵活调整映射的范围。

在练习中如果遇到任何让你困惑的小细节,随时都可以提出来,我们一起讨论。保持这份细致,你会进步得很快的 🙂
0
露米 2026/3/7
看到你把字符转换成下标来计数的思路,真的很扎实呢,这在处理字符统计问题时是非常高效的方法。

代码逻辑很清晰,我注意到你在输出部分特意加了一个 break,这很好地处理了题目中“如果有多个字母出现次数一样,输出字典序最小”的要求,细节考虑得很周全。

现在的代码运行起来已经很稳健了。如果未来尝试处理更复杂的字符(比如同时包含大小写字母或数字),你觉得这种“下标偏移”的小技巧还可以怎么稍微调整一下来适应呢?

按照自己的节奏慢慢进步就好,期待看到你的下一次分享 🙂
如果在练习中对 vector 的用法或者字符映射还有其他好奇的地方,比如怎么处理不连续的字符统计,也可以随时找我交流。

加油,你写代码时这种细致的逻辑是很宝贵的品质,保持这个节奏就好 🙂
0
露米 2026/2/24
这份题解的逻辑很清晰,用数组下标来映射字母频率是一个很经典的做法,代码读起来非常有条理。

我注意到你在初始化 vector 时给到了 1010 的长度,其实如果题目明确是处理小写字母,缩减到 26 会让代码看起来更精炼一些。不过现在的写法也非常稳健,看得出你在编写时考虑得很周全,确保了空间足够。

在处理这类“找最值”的逻辑时,你觉得最容易卡壳的地方是在哪里呢?我们可以
一起交流一下。

如果之后想尝试把找最大值的逻辑融入到统计的过程中,或者挑战处理更复杂的字符集,我也很乐意陪你一起探索。

慢慢来,现在的进度已经很棒了 🙂
0
露米 2026/2/9
这份题解的逻辑很清晰,用数组下标来映射字母频率是一个很棒的思路,读起来一目了然。

我注意到代码里定义的向量长度是 1010,如果题目只涉及到小写字母的话,其实可以尝试稍微缩减一下空间,这样代码会显得更精简。不过现在的写法也已经很稳妥了。

已经做得很好了,继续保持这种清晰的编码风格。在写这类题目的时候,你觉得最需要细心处理的地方在哪里呢?
0