回复: 0
跳转到指定楼层
上一主题 下一主题
收起左侧

Houzz 電面

全局:

2019(1-3月) 码农类General 硕士 全职@ - 网上海投 - 技术电面  | | Other | 在职跳槽

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
[如果覺得對您有幫助,可以贊助大米,給大米不扣您的分]

剛剛面試完的題目,

趁著記憶猶新,趕快來分享給地理小朋友。

這位面試官
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
ODE_0        ]



  1. # N : num of words
  2. # time complexity: O(N * M lg M (M: len of the word) )
  3. # space O(N)

  4. # time complexity for iterating a hash map
  5. # [1, 2, 3, 4] hash set

  6. def group_anagrams(word_list):
  7. # Validate input later
  8. if not word_list:
  9. return []
  10.    
  11.    
  12. # map to hold anagrams. Key: String , Values: Array
  13. anagrams_mapping = dict()
  14. output = []
  15. keys = set()
  16.    
  17.    
  18. # Scan each word from the input list
  19. for w in word_list:
  20. key = "".join(sorted(w))
  21. keys.add(key)
  22. if key in anagrams_mapping:
  23. anagrams_mapping[key].append(w)
  24. else:
  25. anagrams_mapping[key] = [w]
  26.    
  27. # output the results O(N)
  28. # for key in map:
  29. # map[key]
  30.    
  31.    
  32. # for key, anagrams in anagrams_mapping.items():
  33. for key in keys:
  34. output.append(anagrams_mapping[key])
  35.    
  36. return output

  37. word_list = ["eat", "tea", "tan", "ate", "nat", "bat"]

  38. print(group_anagrams(word_list))
  39. print(group_anagrams([]))
  40. print(group_anagrams(None))
复制代码





评分

参与人数 3大米 +32 收起 理由
匿名用户-1XQ9F + 30
liuzxiao + 1 赞一个
lizzielee + 1 赞一个

查看全部评分


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

本版积分规则

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