加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 在单词列表中查找拼写错误

发布时间:2020-12-14 19:22:17 所属栏目:Java 来源:网络整理
导读:给定长度为l的正确单词列表和长度为l的错误单词列表,通过交换两个连续字母,找到不同于错误单词列表的单词与纠正单词列表不同.这些话被认为是拼写错误.例如,hte被认为是一个错字,而het不被视为拼写错误. 什么是最佳时间效率算法,允许我们通过这个定义找到被认

给定长度为l的正确单词列表和长度为l的错误单词列表,通过交换两个连续字母,找到不同于错误单词列表的单词与纠正单词列表不同.这些话被认为是拼写错误.例如,hte被认为是一个错字,而het不被视为拼写错误.

什么是最佳时间效率算法,允许我们通过这个定义找到被认为是拼写错误的单词列表?

我被告知列表可以在线性时间内计算,但我没有找到线性时间的解决方案.我能想到的唯一方法是比较来自一个列表的所有字母与另一个列表的强力.

最佳答案
L - list of correct words of size n.
L'- list of incorrect words of size m.
H - hash table
R - result set

1. for each word w in L :
   1.1  for each typo t of w : //there are l-1 typos
     1.1.1 insert t into H
2. for each word w' in L' :
   2.1 if w' in H insert w' in R
3. return R

时间复杂度:
????O(n * l)O(m)= O(max(n * l,m))

空间复杂度:
????为O(n * 1)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读