推荐:数据科学课程和书籍清单以及培训讲座


一亩三分地论坛

 找回密码
 获取更多干活,快来注册

一亩三分地官方iOS手机应用下载
查看: 1587|回复: 5
收起左侧

Twitter Intern OA 2題

[复制链接] |试试Instant~ |关注本帖
rasca0027 发表于 2016-11-2 15:03:02 | 显示全部楼层 |阅读模式

2017(4-6月) 码农类 硕士 实习@Twitter - 网上海投 - 在线笔试 |Other其他

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

您需要 登录 才可以下载或查看,没有帐号?获取更多干活,快来注册

x
今天打開來發現只有兩題
第一題是Genetic Mutation 這題和LC433 Minimum Genetic Mutation 一樣
不過時間要求比較嚴格 我LC上隨便就過的
結果在OA上一直time out @@
第二題是前面很多人討論過的 time series aggregation. Waral 鍗氬鏈夋洿澶氭枃绔,

. 1point 3acres 璁哄潧
請原諒我沒有權限po截圖

评分

3

查看全部评分

 楼主| rasca0027 发表于 2016-11-3 14:53:10 | 显示全部楼层
关注一亩三分地公众号:
Warald_一亩三分地
Genetic Mutation Python Code:


  1. def findMutationDistance(start, end, bank):
  2.     nu_start = toNumber(start)
  3.     nu_end = toNumber(end). 1point 3acres 璁哄潧
  4.     nu_bank = set(map(toNumber, bank)). From 1point 3acres bbs
  5.     explored = set().鏈枃鍘熷垱鑷1point3acres璁哄潧
  6.     if nu_end not in nu_bank:
  7.         return -1
  8.     if nu_start == nu_end:
  9.         return 0
  10.     fringe = [(nu_start, 0)]
  11.     while fringe != []:
  12.         node = fringe.pop(0) 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  13.         now = node[0]
  14.         depth = node[1]
  15.         
  16.         if now == nu_end:
  17.             return depth.鐣欏璁哄潧-涓浜-涓夊垎鍦
  18.         for x in range(8):
  19.             for y in range(4):
  20.                 successor = now ^ (y << (x * 2))
  21.                 if successor in nu_bank and successor not in explored:
  22.                     explored.add(successor)
  23.                     fringe.append((successor, depth + 1))
  24.     return -1

  25. -google 1point3acres
  26. def toNumber(s):
  27.     # s to bi
  28.     table = {'A':0, 'C':1, 'G':2, 'T':3}. from: 1point3acres.com/bbs
  29.     val = 0
  30.     for i in s:. From 1point 3acres bbs
  31.         val = table[i] + (val << 2)
  32.     return val. From 1point 3acres bbs
复制代码
回复 支持 反对

使用道具 举报

 楼主| rasca0027 发表于 2016-11-3 14:55:08 | 显示全部楼层
关注一亩三分地微博:
Warald
我過了 已補上代碼在一樓
回复 支持 反对

使用道具 举报

天天甜甜去美国 发表于 2016-11-5 05:02:52 | 显示全部楼层
rasca0027 发表于 2016-11-3 14:55
我過了 已補上代碼在一樓

楼主 求第二题的代码!
回复 支持 反对

使用道具 举报

 楼主| rasca0027 发表于 2016-11-5 05:22:21 | 显示全部楼层
  1. interval = raw_input(). 鍥磋鎴戜滑@1point 3 acres
  2. start = interval.split(', ')[0]
  3. end = interval.split(', ')[1]

  4. empty = raw_input()
  5. aggregation = {}
  6. . 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  7. year = start[:4]. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  8. month = start[5:7]
  9. while True:
  10.     s = year + '-' + month.鐣欏璁哄潧-涓浜-涓夊垎鍦
  11.     if s == end:
  12.         break
  13.     aggregation[s] = {}
  14.     month = int(month) + 1
  15.     if month < 10:
  16.         month = '0' + str(month)
  17.     elif month > 12:
  18.         month = '01'
  19.         year = str(int(year) + 1)
  20.     else:
  21.         month = str(month)
  22. while True:. 1point3acres.com/bbs
  23.     data = raw_input()
  24.     if data == '':
  25.         break. Waral 鍗氬鏈夋洿澶氭枃绔,
  26.     entry = data.split(', ')
  27.     month = entry[0][:-3]
  28.     action = entry[1]. Waral 鍗氬鏈夋洿澶氭枃绔,
  29.     count = int(entry[2])
  30.     if month in aggregation:
  31.         if action in aggregation[month]:
    鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  32.             aggregation[month][action] += count
  33.         else:
  34.             aggregation[month][action] = count. 1point 3acres 璁哄潧

  35. for item in sorted(aggregation, reverse=True):
  36.     if aggregation[item] != {}:
  37.         print item + ', ' + ', '.join(k+', '+ str(aggregation[item][k]) for k in sorted(aggregation[item]))
复制代码
回复 支持 反对

使用道具 举报

本版积分规则

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2017-7-28 01:03

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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