楼主: 匿名
跳转到指定楼层
上一主题 下一主题
收起左侧

[字符串] 关于一道API 设计的题目

🔗
肥颓 2019-11-8 10:55:21 | 只看该作者
全局:
midaliuliu 发表于 2019-11-8 10:53
选错了,这是一道面试题目,不匿名了。
要求是O(1),logn 之后要我变成constant time

但如果你要维持输出有序,那肯定总时间复杂度要nlogn 的
只是说你把排序放到哪里完成罢了
回复

使用道具 举报

全局:
肥颓 发表于 2019/11/08 10:55:21
但如果你要维持输出有序,那肯定总时间复杂度要nlogn 的
只是说你把排序放到哪里完成罢了
是啊,我觉得没办法两全吧,可是就是让我全部O1, printout是on。
回复

使用道具 举报

🔗
codeyy 2019-11-8 11:10:12 来自APP | 只看该作者
全局:
hashmap+trie

hashmap记录从word到trie的node。

add:按字符串去更新trie和hashmap。串长可以认为是O(1). 所以为O(1)

其他操作类似

printout即前序遍历这颗树。O(n)

求讨论,求米

评分

参与人数 2大米 +3 收起 理由
dennyzhang007 + 2 给你点个赞!
九道 + 1 很有用的信息!

查看全部评分

回复

使用道具 举报

全局:
codeyy 发表于 2019/11/08 11:10:12
hashmap+trie

hashmap记录从word到trie的node。

add:按字符串去更新trie和hashmap。串长可以认为是O(1). 所以为O(1)

其他操作类似

print...
这个方法我想了,他告诉我用trie不算O1。。。我当时就无语了
回复

使用道具 举报

🔗
codeyy 2019-11-8 11:50:09 来自APP | 只看该作者
全局:
midaliuliu 发表于 2019/11/08 11:32:33
这个方法我想了,他告诉我用trie不算O1。。。我当时就无语了
同无语。所以word用可能无限长?seriously?
回复

使用道具 举报

🔗
maljean 2019-11-8 12:01:13 | 只看该作者
全局:
Trie 的插入 复杂度应该是O(n) n是插入word的 长度。而且用trie 的话,难度有点高了
Hash table 的增删应该是O(1)啊, 为什么是O(log N)。 如果用priority queue 之类的,那复杂度直接就是NlogN吧, 不过这样输出降低到了O(n)
用hash table 应该没啥问题。 print的话,我觉得这边需要排序,要NlogN,避免不了的。
回复

使用道具 举报

🔗
肥颓 2019-11-8 12:06:13 | 只看该作者
全局:
midaliuliu 发表于 2019-11-8 10:58
是啊,我觉得没办法两全吧,可是就是让我全部O1, printout是on。

有没有可能是什么mapreduce 的法子。。。
hash 过去然后归并出来。。。。
回复

使用道具 举报

🔗
Nevermore777 2019-11-9 01:17:46 | 只看该作者
全局:
直接用LinkedHashMap就完了吧
回复

使用道具 举报

全局:
Nevermore777 发表于 2019/11/09 01:17:46
直接用LinkedHashMap就完了吧
排序也可以吗
回复

使用道具 举报

🔗
CalL_Me_Joker 2019-11-9 01:36:10 | 只看该作者
全局:
Nevermore777 发表于 2019-11-9 01:17
直接用LinkedHashMap就完了吧

好像确实可以
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表