字符串处理

标签 string algorithm tree

一个字符串'hello',如何列出所有单词以及每个单词的数量。 普通后缀树算法只返回后缀,意味着不会出现中间词'll'。谁能帮我一步步解决?

最佳答案

初始化哈希表。
使用双循环(for 内 for)。一个循环索引将代表子串的开头,另一个代表结尾。确保结束索引严格大于开始索引,并且两者都在字符串边界内。
对于遇到的每个子字符串,检查它是否在散列中。如果不是 - 将其添加为键,值为 1。如果是 - 增加当前保存的值。

编辑:根据您的评论:

for(b = 0; b < len; ++b) {
  for(e = b + 1; e <= len; ++e) {
    //process substring from index b (incl.) to index e (excl.)
  }
}

这将按以下顺序遍历字符串“abcd”:
a ab abc abcd b bc bcd c cd d

关于字符串处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7479914/

相关文章:

java - 从 Arraylist 中提取不同字符串的更快方法

c++ - 有没有办法通过zeromq pub sub C++发送字符串以外的数据类型?

找到地球上 100 个最长且陡度超过 30 度的斜坡的算法?

sql - 将平面表解析为树的最有效/优雅的方法是什么?

c++ - 从图像点构建树/图

string - 如何测试 CComBSTR 是否为空

Javascript:找出不按顺序的日期

algorithm - 寻找范围内的东西

data-structures - 形成相同 AVL 和伸展树(Splay Tree)的序列?

java - 如何从用户输入中拆分 "\n"?