楼主: 锋之舞
跳转到指定楼层
上一主题 下一主题
收起左侧

狗家SETI昂赛MTV

🔗
 楼主| 锋之舞 2019-4-22 09:32:42 | 只看该作者
全局:
sean72kimo 发表于 2019-4-22 09:26
不清楚,但我上次去面,硬體/韌體轉專業(做了五六年),還是問我backend design... 我也只能用網上自修的 ...

因为你是5年以上了吧,虽然说exp为0,但是基本知识还是要懂的吧
回复

使用道具 举报

🔗
jmnjmnjmn 2019-4-23 16:31:49 | 只看该作者
全局:
是喜欢问基本的array题目啊
回复

使用道具 举报

🔗
yayafuture 2019-4-30 00:00:34 | 只看该作者
全局:
请问第三轮这个题有lc原题吗
回复

使用道具 举报

🔗
 楼主| 锋之舞 2019-4-30 00:01:32 来自APP | 只看该作者
全局:
yayafuture 发表于 2019/04/30 00:00:34
请问第三轮这个题有lc原题吗

没有吧。。。
回复

使用道具 举报

🔗
Wyf2222 2019-5-31 02:32:08 | 只看该作者
全局:
请问一下第五轮第一题
“没有nested的括号,但是可以里面的字符有括号。”  是啥意思

a{ b, c, d{mn}xy }ef

整个d{mn}xy  看成一个整体  这样?
回复

使用道具 举报

🔗
 楼主| 锋之舞 2019-5-31 02:33:22 | 只看该作者
全局:
Wyf2222 发表于 2019-5-31 02:32
请问一下第五轮第一题
“没有nested的括号,但是可以里面的字符有括号。”  是啥意思

是的,字数字数字数
回复

使用道具 举报

🔗
Wyf2222 2019-5-31 02:48:12 | 只看该作者
全局:
锋之舞 发表于 2019-5-31 02:33
是的,字数字数字数

thanks。

第四轮第二题 请问能具体讲讲你的做法和复杂度吗

我觉得直接扫一遍On 就能得到结果了把。
这题worse case的话,如果每个index的值都不一样,没法比On更快了把

当然average case,从第一个开始,二分找下一个不一样的,然后index跳过去,可能比On快一点。但是这样做worse case就成了nlogn

just my two cents :)
回复

使用道具 举报

🔗
 楼主| 锋之舞 2019-5-31 03:01:44 | 只看该作者
全局:
Wyf2222 发表于 2019-5-31 02:48
thanks。

第四轮第二题 请问能具体讲讲你的做法和复杂度吗

worst case是On, 一般情况是m(logw+1), w是平均版本变动的间隔,m是版本变动的次数。worst case就是m=n,w=1
回复

使用道具 举报

🔗
giveforce 2019-6-4 11:59:16 | 只看该作者
全局:
第五轮第一问用递归的方式写了下,遇到括号时对括号里的substring调用递归函数处理

  1. def bracketMatch(s): # Key: left bracket, value: right bracket
  2.     stack = []
  3.     dic = {}
  4.     for i,c in enumerate(s):
  5.         if c == '{':
  6.             stack.append(i)
  7.         elif c == '}':
  8.             dic[stack.pop()] = i
  9.     return dic

  10. def process(s, start, end, bracketDic):
  11.     res = []
  12.     i, j = start, start
  13.     while j <= end+1:
  14.         if j == end+1 or s[j] == ',':
  15.             if '{' not in s[i:j]:
  16.                 res.append(s[i:j])
  17.             else:
  18.                 bracketInd = i
  19.                 while s[bracketInd] != '{':
  20.                     bracketInd += 1
  21.                 before = s[i:bracketInd]
  22.                 after = s[(bracketDic[bracketInd]+1):j]
  23.                 mid = process(s, bracketInd+1, bracketDic[bracketInd]-1, bracketDic)
  24.                 for i in range(len(mid)):
  25.                     mid[i] = before+mid[i]+after
  26.                 res.extend(mid)
  27.             i = j+1
  28.         elif s[j] == '{':
  29.             j = bracketDic[j]
  30.         j +=1
  31.     return res
  32.    
  33. s = "a{b,c,de{{1,222,3}8,x,y}h}f"
  34. bracketDic = bracketMatch(s)
  35. res = process(s, 0, len(s)-1, bracketDic)
  36. print(res)
复制代码
回复

使用道具 举报

🔗
Orthocenter 2019-10-3 02:54:21 | 只看该作者
全局:
原来 5 年之内都可以不问 system design 啊
回复

使用道具 举报

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

本版积分规则

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