有一个长度为 n, (1 ≤ n ≤ 1000) 的字符串,字符串只包括大小写字母和阿拉伯数字,牛牛想知道这个字符串里面有多少个不同的字符。
第一行为一个正整数 n (1 ≤ n ≤ 1000) , 为字符串的长度 第二行为一个长度为n的字符串
输出为不同字符的个数。
5 aase3
4
7 LAub7L0
6
考点:字符串 · 哈希
数据规模 n ≤ 1e3 | 限制 1 秒 / 256MB | 标准输入输出
推荐方向:哈希
用哈希表把「查找/计数」的开销降到 O(1) 均摊。
思路框架(哈希 通法 · 非本题专属)
实现要点:Python 用 dict / collections.Counter / defaultdict;C++ 用 unordered_map。
复杂度:时间 O(n) 均摊 | 空间 O(n)
该范式的通法易错点
对照本题
样例 1:输入 5 / aase3 → 输出 4
有四个不同的字符,分别是 a s e 3
样例 2:输入 7 / LAub7L0 → 输出 6
字符串中有6个不同的字符, 分别是 L A u b 7 0
解析由校招宝本地引擎整理(依据源站考点标签 / 人工判题标注 / 题面规模信号),非官方题解,仅供思路参考。
本题来源:2024年春招-京东-技术通用岗位-第五批笔试。