在写英语作文的时候,两个相同单词靠的太近肯定不好。
现在 ZHR 给了你一段n个单词的英文,问你有多少对相同单词中间间隔的单词数小于等于k 。
输入描述:
第一行两个整数,为n 和 k 。
第二行nnn个由仅小写字母组成的单词。
每个单词长度小于等于10 。
1
输出描述:一行一个正整数,表示有多少对单词中间间隔的单词数小于等于k。
示例1
输入
11 2
i love you you love mi mixue ice cream and tea
输出
2
说明
只有 you 和 love 两个单词间隔的单词数小于等于2
首先最简单的思路就是两个for循环,但是肯定会超时。
看到string和数字,可以用map起来。
接下来遍历字联系符串数组,每一次让mp[str[i]]++,表示字符串str[i]出现的次数加一(为了对后面的单词做计算),然后对一个区间k+1进行 *** 作,因为第k-i-1个字符串下一个循环就要离开这个区间,所以令mp[str[i-i-1]]--。
每一次循环的开始变对mp[str[i]]求和,表示字符串单词间隔小于等于k的个数。
#include
#include
#include
#include
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)