给定一个词典,新添一个词条,查看这个词条是否由词典中的两个词组成?
首先想到的就是用hash的方法,将这个词拆分为两半,查看前面和后面的词是否在词典中。时间复杂度是o(n)
还有一种方法,就是用trie。正向词建trie,逆向词建trie,然后在正向trie树中查找词条,记录在过程中可以成词的位置。在逆向trie中从后向前查找词条,一旦遇到可以成词的位置,并且这个位置和之前记录的位置对应。时间复杂度也是o(n)
给定一个词典,新添一个词条,查看这个词条是否由词典中的两个词组成?
首先想到的就是用hash的方法,将这个词拆分为两半,查看前面和后面的词是否在词典中。时间复杂度是o(n)
还有一种方法,就是用trie。正向词建trie,逆向词建trie,然后在正向trie树中查找词条,记录在过程中可以成词的位置。在逆向trie中从后向前查找词条,一旦遇到可以成词的位置,并且这个位置和之前记录的位置对应。时间复杂度也是o(n)