可以用 trie tree (也叫前缀树)来实现,将文本文件打开为一个 stream, 把这个 stream pipe 到一个 trie tree 型对象里面,每一个 insert 之后返回对应节点的指针,然后检查该节点的 count 是否大于 1.
beyondstars
2024-02-28 11:22:12 +08:00
伪代码如下:
let trieTree = new TrieTree(); let lineStream = openStream("data.txt"); while lineStream is not EOF: let line = lineStream.getLine(); let field1Value = split(line)[0]; let lastNode = trieTree.insert(field1Value); if (lastNode.count > 1) print("Repeated.") return