一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 2799|回复: 24
收起左侧

linkedin实习面经

[复制链接] |试试Instant~ |关注本帖
huashiyiqike2 发表于 2015-8-2 11:37:09 | 显示全部楼层 |阅读模式

2015(4-6月) 码农类 硕士 实习@Linkedin - 网上海投 - 在线笔试 |Passfresh grad应届毕业生

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

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
在codability上做了两道题,第一个是计算器,类似leetcode上的,第二个是求下一个二进制为0,1间隔的数,如10(1010),16(10000),17(10001),18(10010),20(10100),要过大数据,考察bit操作. 1point 3acres 璁哄潧

评分

2

查看全部评分

yawnzh 发表于 2015-8-23 16:49:01 | 显示全部楼层
第二题可否找到从右到左第一个连续的00置为01,00右边的全部置0,这是我的代码,然后我test了一下生成了前21个数
[1, 2, 4, 5, 8, 9, 10, 16, 17, 18, 20, 21, 32, 33, 34, 36, 37, 40, 41, 42, 64, 65, 66, 68, 69, 72, 73, 74, 80, 81, 82]
  1. def next(n):. more info on 1point3acres.com
  2.     mask=3
  3.     x=1. 1point3acres.com/bbs
  4.     for i in range(30):. Waral 鍗氬鏈夋洿澶氭枃绔,
  5.         if n&mask==0:. visit 1point3acres.com for more.
  6.             break
  7.         mask<<=1. 1point 3acres 璁哄潧
  8.         x<<=1
  9.     n|=x
  10.     n&=~(x-1)
  11.     return n
复制代码

补充内容 (2015-8-23 00:49): 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
前31个数. From 1point 3acres bbs

补充内容 (2015-8-23 00:49):
前31个数
回复 支持 4 反对 0

使用道具 举报

akluffy 发表于 2015-8-3 15:47:31 | 显示全部楼层
stellari 发表于 2015-8-2 19:12
我估计规则应该是“可以有任意多个1和0,但相邻的1之间必须由至少一个0分隔”。

就是说不能有连续的11. Waral 鍗氬鏈夋洿澶氭枃绔,
这个好办

右移1位,然后 用 与 操作。
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
1100
0110
与之后不为0,所以有连续的1
回复 支持 1 反对 0

使用道具 举报

akluffy 发表于 2015-8-22 15:11:09 | 显示全部楼层
. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
leetcode的原题没有包含 + - * / 且有括号的。

包含加减乘除并且有括号的题,我觉得非常困难。求比较标准简洁的答案。
回复 支持 0 反对 1

使用道具 举报

readman 发表于 2015-8-2 13:00:42 | 显示全部楼层
暑假实习现在就招了?
回复 支持 反对

使用道具 举报

bluestarwing 发表于 2015-8-2 13:23:58 | 显示全部楼层
这是fall的实习还是暑期实习呢?
回复 支持 反对

使用道具 举报

 楼主| huashiyiqike2 发表于 2015-8-2 14:13:57 | 显示全部楼层
一个月前,发现没有大米了才发上来的。。
回复 支持 反对

使用道具 举报

akluffy 发表于 2015-8-2 17:31:03 | 显示全部楼层
两天都不明白具体的题意。请楼主细述啊!
回复 支持 反对

使用道具 举报

originally 发表于 2015-8-2 17:55:23 | 显示全部楼层
楼主是本科生还是研究生?
回复 支持 反对

使用道具 举报

虾米酱 发表于 2015-8-2 18:57:42 | 显示全部楼层
第二题是要10101010这种,还是说二进制里有0 有1 就行~?
回复 支持 反对

使用道具 举报

stellari 发表于 2015-8-2 19:12:59 | 显示全部楼层
虾米酱 发表于 2015-8-2 18:57
第二题是要10101010这种,还是说二进制里有0 有1 就行~?
. from: 1point3acres.com/bbs
我估计规则应该是“可以有任意多个1和0,但相邻的1之间必须由至少一个0分隔”。
回复 支持 反对

使用道具 举报

akluffy 发表于 2015-8-3 15:47:42 | 显示全部楼层
计算器那题楼主怎么做的。具体要求是什么?两个stack吗?
回复 支持 反对

使用道具 举报

 楼主| huashiyiqike2 发表于 2015-8-3 15:52:37 | 显示全部楼层
akluffy 发表于 2015-8-3 15:47.鐣欏璁哄潧-涓浜-涓夊垎鍦
就是说不能有连续的11.鏈枃鍘熷垱鑷1point3acres璁哄潧
这个好办

貌似这个是正确答案,我当时是不断的检查,先加1,再加2,再加4,再加8这样子过的
回复 支持 反对

使用道具 举报

 楼主| huashiyiqike2 发表于 2015-8-3 15:53:13 | 显示全部楼层
akluffy 发表于 2015-8-3 15:47
计算器那题楼主怎么做的。具体要求是什么?两个stack吗?

Leetcode有原题
回复 支持 反对

使用道具 举报

syxgtsyxgt 发表于 2015-8-3 16:06:12 | 显示全部楼层
15 fall intern OR 15 spring intern OR 16summer intern?这么早就招了吗
回复 支持 反对

使用道具 举报

虾米酱 发表于 2015-8-3 16:35:57 | 显示全部楼层
akluffy 发表于 2015-8-3 15:47
就是说不能有连续的11. From 1point 3acres bbs
这个好办

所以你是说比如从10开始,然后依次看11,12,13一直到16~?会不会有些情况时间复杂度太大了呢O(n)
回复 支持 反对

使用道具 举报

stellari 发表于 2015-8-3 19:59:17 | 显示全部楼层
akluffy 发表于 2015-8-3 15:47
就是说不能有连续的11
这个好办
. 鍥磋鎴戜滑@1point 3 acres
这个是判断一个数是否满足条件的算法,但是如何由这个算法快速得到“下一个”满足条件的数字呢?如果是一个数一个数地试的话,显然效率太低了。比如,如果现在发现

0011000000000000
.鐣欏璁哄潧-涓浜-涓夊垎鍦
这个数字不符合条件,而且它离下一个满足条件的数字

0100000000000000
. From 1point 3acres bbs
非常远。如果要过大数据的话,检查每个数字是否符合条件显然是不行的。. from: 1point3acres.com/bbs

不知我是否正确理解了你的意思?
回复 支持 反对

使用道具 举报

stellari 发表于 2015-8-3 21:38:33 | 显示全部楼层
huashiyiqike2 发表于 2015-8-3 15:52
貌似这个是正确答案,我当时是不断的检查,先加1,再加2,再加4,再加8这样子过的

我贴一个自己的方法,虽然略麻烦:
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
原理:在二进制数中寻找“位于最低位的单个1和0交替的序列,即10101..这样的序列”。如果找到了这样的序列,则将其替换为100000...;如果找不到,则直接加1即可。例如:100010101的下一个数字是100100000(替换), 再下一个数字则是100100001(加1)。这两种情况可以事实上用统一的2进制操作来描述(见下)。
.1point3acres缃
方法:

1. B = A | (A >> 1) 如果A以交替序列结尾,那么最后B会出现...000111111的形式;反之则会出现...11100000的形式
2. C = B ^ (B + 1) 这步得到的C是000……000011111这种形式。末尾如果有N个连续1,就说明A末尾存在长为N-1的交替序列。
3. A = A & (~C) 将A末尾的N位清空。
4. D = C ^ (C >> 1) 保留C中最左边的set bit,其余都置为0,即D = 000.....000010000. 1point3acres.com/bbs
5. A = A | D 把D中的这一位放到A的对应位上即可。

鏉ユ簮涓浜.涓夊垎鍦拌鍧.
回复 支持 反对

使用道具 举报

akluffy 发表于 2015-8-22 15:09:11 | 显示全部楼层
stellari 发表于 2015-8-3 19:59
这个是判断一个数是否满足条件的算法,但是如何由这个算法快速得到“下一个”满足条件的数字呢?如果是一 ...

哦这样啊,要是要找所有的数,的确不能一个一个地来算。你的思路应该不错。
回复 支持 反对

使用道具 举报

走路草May 发表于 2015-8-24 09:23:00 | 显示全部楼层
yawnzh 发表于 2015-8-23 16:49. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
第二题可否找到从右到左第一个连续的00置为01,00右边的全部置0,这是我的代码,然后我test了一下生成了前2 ...

Hi, 这段next() code里的for循环是否是不需要的? 你的next()函数是对于每一个的number产生它的下一个数,如果要产生很多个符合这个条件的数应该是要多次调用next() 吧?
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

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

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

custom counter

GMT+8, 2016-12-3 21:51

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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