May 2009 - May 2017 论坛八周年-你的足迹,我的骄傲


一亩三分地论坛

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

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

twitter 电面

[复制链接] |试试Instant~ |关注本帖
飞跃太平洋! 发表于 2015-10-10 03:43:49 | 显示全部楼层 |阅读模式

2015(10-12月) 码农类 硕士 全职@Twitter - 网上海投 - 技术电面 |Fail在职跳槽

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

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

x
刚刚面了twitter。面试官是个印度人·面的并不太好·估计肯定跪了。发帖攒RP吧~~

题目是写一个deepIterator来iterate一个collection. Collection是那种nested结构的。比如:
{{1, 2, 3}, 4, {{5, 6}, {{7}}}, {8, 9, 10}} 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
这种就要返回1, 2, 3, 4, 5, 6, 7, 8, 9, 10-google 1point3acres

我开始没看懂题目直接以为他只会有一层的内嵌,后面他跟我说让我改时间已经来不太及了。目测是挂掉了…

刚才在网上查了一下题目好像是LinkedIn面试常出的题目,可能那个面试官是LinkedIn跳过来的?


评分

1

查看全部评分

 楼主| 飞跃太平洋! 发表于 2015-10-10 03:45:39 | 显示全部楼层
关注一亩三分地公众号:
Warald_一亩三分地
补充一下· 面的是Twitter Seattle
回复 支持 反对

使用道具 举报

 楼主| 飞跃太平洋! 发表于 2015-10-10 03:45:46 | 显示全部楼层
关注一亩三分地微博:
Warald
补充一下· 面的是Twitter Seattle
回复 支持 反对

使用道具 举报

liyanjia92 发表于 2015-10-23 08:00:31 | 显示全部楼层
有点像flatten 2d iterator 内嵌的话应该还是要用iterator的iterator来做吧?楼主有什么好的方法呢?
回复 支持 反对

使用道具 举报

 楼主| 飞跃太平洋! 发表于 2015-10-23 14:15:10 | 显示全部楼层
liyanjia92 发表于 2015-10-23 08:00
有点像flatten 2d iterator 内嵌的话应该还是要用iterator的iterator来做吧?楼主有什么好的方法呢?

我在网上找到了答案· 大概是用Stack存储每次iterator的状态这种. 思想就是用Stack来模拟一个递归的过程。实现还挺烦的
回复 支持 反对

使用道具 举报

soysenioritasue 发表于 2015-10-23 15:46:26 | 显示全部楼层
不能直接递归吗?为什么是西雅图?
回复 支持 反对

使用道具 举报

soysenioritasue 发表于 2015-10-23 15:47:24 | 显示全部楼层
soysenioritasue 发表于 2015-10-23 15:46
不能直接递归吗?为什么是西雅图?

难道是我软的?
回复 支持 反对

使用道具 举报

gorilazz 发表于 2015-10-24 12:33:40 | 显示全部楼层
用stack就可以了
  1. class DeepIterator(object):
  2.         def __init__(self, l): 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  3.                 self.stack = [l]
  4.                 while self.stack and not isinstance(self.stack[0], int):.鐣欏璁哄潧-涓浜-涓夊垎鍦
  5.                         cur = self.stack.pop(0)
  6.                         self.stack = cur + self.stack. 1point3acres.com/bbs
  7. . more info on 1point3acres.com
  8.         def hasNext(self):
  9.                 if not self.stack:
  10.                         return False
  11.                 return True

  12.         def next(self):
  13.                 cur = self.stack.pop(0)
  14.                 while self.stack and not isinstance(self.stack[0], int):
  15.                         elem = self.stack.pop(0)
  16.                         self.stack = elem + self.stack
  17.                 return cur
  18. . 1point 3acres 璁哄潧
  19. A = [1, [2,3], 4, [[], 5], [[6,[7]]]]
  20. it = DeepIterator(A)

  21. while it.hasNext():
  22.         print(it.next())
复制代码
回复 支持 反对

使用道具 举报

sevensevens 发表于 2016-1-19 17:09:08 | 显示全部楼层

stack.........不是这么用的............
回复 支持 反对

使用道具 举报

syftalent 发表于 2016-2-14 11:41:15 | 显示全部楼层
用instanceof来判断是不是嵌套?
回复 支持 反对

使用道具 举报

sealove999 发表于 2016-3-15 18:58:16 | 显示全部楼层
syftalent 发表于 2016-2-14 11:41
用instanceof来判断是不是嵌套?
. Waral 鍗氬鏈夋洿澶氭枃绔,
同问,函数的输入是什么数据结构的
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2017-5-29 21:29

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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