问题陈述:
考虑一个拥有数百万本书的图书馆。每分钟都会添加和删除数千本书。问题是在Java中使用最少的时间和空间复杂性使用前缀(作为输入)查找所有可用的书籍。 例子
Books - {'abcd','abda','aaqe','abc'}
input: ab
output: 3 // because there are 3 book names starting with 'ab'
input: abc
output: 2
input: a
output: 4
这可以使用循环来完成,但是正如我之前所说的,这需要在Java中以最小的时间和空间复杂性来完成。
预先感谢
更新-由于每个人都至少要求我尝试编写自己的代码,因此我正在对此进行更新。这个问题是在采访中给我的。我使用hashmap
进行了尝试,它说服了面试官,但我仍然认为为此目的有一些不错的data structures
或algorithms
。
我并不是要有人通过为我编写代码来解决这个问题。我只是想问一个关于使用哪种数据结构以最小化复杂度的想法,因为我仍在学习数据结构和算法。
抱歉,这是一个愚蠢的问题。
谢谢
答案 0 :(得分:1)