解题思路
给定多个仅由小写英文字母组成的片段,需要提取这些片段的公共特征。
核心观察如下:
- 某个字母想要出现在答案中,必须在每个片段里都至少出现一次。
- 如果某个字母在所有片段中都出现,那么它在答案中出现的次数,应该等于它在所有片段中出现次数的最小值。
- 最终答案要求按字母从小到大排列,因此只需要按
a 到 z 的顺序处理即可。
P14200.文档特征提取(100分)
题目内容
一篇文档由多个文本片段组成(这里假定每个片段由小写英文字母组成,不包含其他内容),需要针对该文档的多个片段进行特征提取,提取方法如下:
1、特征提取处理时首先找出所有片段中都包含的字母,也就是该字母在所有片段中都至少出现过一次。
2、如果某个字母在多个片段中都出现过,则计算字母在所有片段中出现的最小次数,如果最小次数为1,则特征中包含1个该字母,如果最少次数为2,则特征中包含2个该字母,以此类推。
3、最终输出的文本特征是具备上诉条件所有字母的集合,且字母按照从小到大排序。
4、如果所有的字母都不符合该条件,则提取特征的结果为空。
补充说明
用例中字符串(即片段)的总数小于1000个
样例1
输入
["paper", "parent", "parade"]
输出
"aepr"
说明
- "p", "a", "e", "r" 在每个字符串中都至少出现一次
- 每个字母在各字符串中都至少出现1次,所以结果中每个字母出现1次
样例2
输入
["hello", "hollow", "halloween"]
输出
"hllo"
说明
- "h" 在每个字符串中都至少出现1次 → 取最小值1次
- "l" 在三个字符串中分别出现2次、2次、2次 → 最小值2次
- "o" 在三个字符串中分别出现1次、2次、1次 → 最小值1次
- 所以结果是 ["h", "l", "l", "o"]
样例3
输入
["abc","def","ghi"]
输出
""
说明
没有字母在所有三个字符串中都出现