题目描述:
小华负责公司知识图谱产品,现在要通过新词挖掘完善知识图谱。
新词挖掘:给出一个待挖掘文本内容字符串Content和一个词的字符串word,找到content中所有word的新词。
新词:使用词word的字符排列形成的字符串。
请帮小华实现新词挖掘,返回发现的新词的数量。
输入描述:
第一行输入为待挖掘的文本内容content;
第二行输入为词word;
输出描述:
在中找到的所有word的新词的数量。
补充说明:
0<=content的长度<=10000000;
1=<word的长度<=2000
示例1
输入:
qweebaewqd
qwe
输出:
2
说明:
起始索引等于 0 的子串是 "qwe", 它是 word的新词。
起始索引等于 6 的子串是 "ewq", 它是 word 的新词。
示例2
输入:
abab
ab
输出:
3
说明:
起始索引等于 0 的子串是 "ab", 它是 word的新词。
起始索引等于 1 的子串是 "ba", 它是 word的新词。
起始索引等于 2 的子串是 "ab", 它是 word的新词。
解题思路:
本来想用set()函数把word去重,再一个个遍历计算.count()的,但发现不用这么麻烦,直接切片字符串,然后对字符串进行排序,如果一致,那么说明两个字符串的字母完全一样,符合新词的定义
#华为机试,emo了#
content=input()
word=input()
l=len(word)
k=len(content)
count=0
for i in range(0,k-l+1):
wajue=content[i:i+l]
if sorted(word)==sorted(wajue):
count+=1
print(count)