让你实现一些API,假定每个单词有一个定义,<word, defination>,然后实现
1. void add(word, def)
2. void remove(word)
3. void update(word, def)
4. String lookup(word) return defition
5. printOut() 打印出所有的 <word, def> pair 并且按照word排序。
- 第一种想的是用一个map。 add,remove,update,lookup都是O(1), printOut排序nlogn
- 第二种想的是两个map, 其中一个是TreeMap, 这样 update, lookup O(1), add, remove O(logn) 复杂度, printOut() O(n) 复杂度
看面经贴说,面试官让他 add,remove,update,lookup都是O(1), printOut排序O(n),可以用任意数据结构,这个有可能吗?
求问大佬们想法,谢谢