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

Rubrik电面挂经

全局:

2021(7-9月) 码农类General 本科 全职@rubrik - 网上海投 - 技术电面  | 😐 Neutral 😣 Hard | Fail | 在职跳槽

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

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

x

略有些可爱的三哥
先介绍了一下project 然后coderpad做题

Trie的延伸题 不知道LC有没有 我没刷过Trie的题所以不知道题号。。。

given a bag of words
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
ccurence of this key}}}


完全没刷trie的任何题 所以各种懵逼。。。

move on move on




上一篇:Twitter 2022 Summer intern OA
下一篇:抖音电面
推荐
UOLO234 2021-10-6 07:54:05 | 只看该作者
全局:
这道题在 LC 上没见过,不过如果要做的话应该是在 TrieNode 上添加一个记录单词剩下长度的属性,试一下...
  1. from collections import defaultdict

  2. class TrieNode(object):
  3.    
  4.     def __init__(self):
  5.         self.children = {}
  6.         self.value = defaultdict(lambda:0)

  7. class Trie(object):
  8.    
  9.     def __init__(self):
  10.         self.root = TrieNode()
  11.    
  12.     def add(self,word):
  13.         curr = self.root
  14.         n = len(word)
  15.         
  16.         for ch in word:
  17.             if ch not in curr.children:
  18.                 curr.children[ch] = TrieNode()
  19.             curr = curr.children[ch]
  20.             curr.value[n-1]+=1
  21.             n-=1
  22.    
  23.     def search(self, key):
  24.         curr = self.root
  25.         
  26.         for ch in key:
  27.             if ch.isalpha():
  28.                 if ch not in curr.children:
  29.                     return False
  30.                
  31.                 curr = curr.children[ch]
  32.             else:
  33.                 # for digit
  34.                 return curr.value[int(ch)]==1
  35.         
  36.         return False
  37.         
  38. if __name__ == '__main__':
  39.     trie = Trie()
  40.     words = ['apple','baby','ball','amz']
  41.     for word in words:
  42.         trie.add(word)

  43.     assert trie.search("ap3")==True
  44.     assert trie.search("ba2")==False
  45.     assert trie.search("a2")==True
  46.     assert trie.search("bab0")==False
复制代码
回复

使用道具 举报

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

本版积分规则

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