我想找到一个人物的出现在N次查询字符串: 例如字符串是:“i_love_mathematics” 和任务是找出发生:计数在一些查询字符串中的字符出现的次数?
“我”的范围:
1-4(a substring starting from 1st character and ending at 4th)
2-5
3-10
在范围
'_':
1-10
3-9
输出将是:
1
0
0
2
1
类似的问题是要找到字符串中的字符出现的次数,但对于复杂度为O(N),但在这种情况下,如果我这样做,这将导致非常高的复杂性,有没有可以用来解决这个问题的数据结构?
复杂性将是'O(q * n)',其中'q'是查询的数量,'n'是字符串的长度,如果你想要一个简单的实现。或者,你可以用一棵树来降低复杂度为'O(q log n)',空间复杂度为'O(n)'。或者,您可以使用一张表格将每个字符映射到特定字符出现的索引列表。复杂性将保持不变。 – Paul