AlgoMooc
你已开通华为OD训练营权益,还差最后一步——完成入营激活(兑换课程 + 加飞书 + 登记服务群),即可解锁全部课程与专属服务。去激活 →
← 返回题库

K0050. 魔法刻印:共鸣的符文

中等通过率 35% · 提交 282 · 通过 99
哈希表字符串枚举

小慕正在开发一个多语言文本分析项目,他需要从多个文档中找出所有共同出现的字母字符,并从中提取出可复用的“公共字符集”。 每个文档的内容由一串仅包含小写字母的文本组成。若某个字符在所有文档中都至少出现一次,则该字符具备“公共特性”。更关键的是,如果某个字符在每个文档中都重复出现了若干次,那么该字符就应被重复记录同样多次。 小慕需要你帮助他,从所有文档中找出这些具有公共特性的字母字符,并输出最终的“公共字符集”。

提示:带虚线的词点一下有通俗解释。

输入描述

第一行输入一个整数 `n`,表示魔法卷轴的数量,满足 `1 <= n <= 200`。 接下来的 `n` 行中,每行是一个长度不超过 `1000` 的字符串 `s_i`,表示第 `i` 个魔法卷轴的内容。字符串仅包含小写字母 `'a'` 到 `'z'`。

输出描述

输出一个字符串,表示共鸣刻印中的所有字符,需满足以下条件: - 每个字符必须在所有魔法卷轴中都至少出现一次; - 若某字符在所有卷轴中都出现了 `k` 次,则输出中应包含 `k` 个该字符; - 若某字符在某些卷轴中出现次数不足 `k` 次,则只取所有卷轴中的最小出现次数; - 所有字符应按**字典序升序**输出; - 若无任何字符在所有卷轴中共鸣,则输出字符串 `"null"`(不带引号)。

示例

示例 1

输入

3
smooth
common
moorings

输出

moo

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解
共鸣刻印示例 卷轴1: smooth 卷轴2: common 卷轴3: moorings 统计每个字母在每个卷轴中的出现次数 字母 m 字母 o 字母 s 卷轴1: 1次 卷轴2: 2次 卷轴3: 1次 卷轴1: 2次 卷轴2: 2次 卷轴3: 2次 卷轴1: 1次 卷轴2: 0次 卷轴3: 1次 取每个字母在所有卷轴中的最小出现次数 m: min(1,2,1)=1 → 输出1个m o: min(2,2,2)=2 → 输出2个o s: min(1,0,1)=0 → 不输出 最终输出: moo
写完代码点「提交」,将对全部测试用例判题。

向老师提问

针对「魔法刻印:共鸣的符文」把疑问、代码和报错填清楚,老师收到后能更快、更准地回复你。