v***y 发帖数: 7 | 1 最近面试碰到的几道挺有意思的面试题,发上来跟大家分享一下
1、有两个机器人站在数轴上,他们的距离是一个正整数,彼此不知道对方在哪儿,现
在你给他们编写命令,可以用的命令只有如下几种Basic风格的句子:
Move +1
Move -1
Goto 某行代码
If(对方来过当前点) Then (自己填)
问如何编程,才能使他们俩相遇?
(刚才忘了说,在每一秒钟机器人都会且只会移动一步,因此想利用追及的方式来解决
这个问题的,不可能用一个Move +1;Move +1 另一个Move +1来完成,因为前者执行两
条Move要两秒。)
也可以思考一下If里的条件改成“自己来过当前点”本题该怎么做。
2、A有一份文件,一个盒子,一把锁和其对应的钥匙,B有一把锁和其对应的钥匙,盒
子可以用这两把锁锁上。外面的世界很危险,如何能安全地把A手中的文件通过盒子送
给B?
3、有一个很长的链表,但你只有O(1)的内存,问只遍历一遍,如何能从中随机选取
一个数?如何随机选取K个?(这题我在本版上见过)
4、有一个蛋糕,随机地插上一根蜡烛,再随机地从圆心沿轴方向切两刀,长度为半径
(也就是切成扇形or两个半圆),问有蜡烛的一块蛋糕面积比较大的概率是
A. 小于1/2
B. 等于1/2
C. 大于1/2
如果选择A或者C,又问概率具体是多少?
第一次发帖,请大家多多指教呀。 |
l*****i 发帖数: 136 | 2 这是我临时想的第一题
1: If (visited by the other one) Then
2: Move +1
3: Move +1
4: Goto 1
两个机器人执行相同的程序,后者可以追杀前者
应该还有更快追上的办法
【在 v***y 的大作中提到】 : 最近面试碰到的几道挺有意思的面试题,发上来跟大家分享一下 : 1、有两个机器人站在数轴上,他们的距离是一个正整数,彼此不知道对方在哪儿,现 : 在你给他们编写命令,可以用的命令只有如下几种Basic风格的句子: : Move +1 : Move -1 : Goto 某行代码 : If(对方来过当前点) Then (自己填) : 问如何编程,才能使他们俩相遇? : (刚才忘了说,在每一秒钟机器人都会且只会移动一步,因此想利用追及的方式来解决 : 这个问题的,不可能用一个Move +1;Move +1 另一个Move +1来完成,因为前者执行两
|
l****c 发帖数: 782 | 3 2. A锁上,给B,B再锁上,还给A,A开锁给B,B开开了,哈哈 |
v***y 发帖数: 7 | 4 我刚刚漏了说一个条件,就是每秒钟只能move一格,所以如果用你这个方案的话,效果
是两者速度一样,解决不了的哦
【在 l*****i 的大作中提到】 : 这是我临时想的第一题 : 1: If (visited by the other one) Then : 2: Move +1 : 3: Move +1 : 4: Goto 1 : 两个机器人执行相同的程序,后者可以追杀前者 : 应该还有更快追上的办法
|
v***y 发帖数: 7 | 5 Bingo~!
貌似这也是某个网络传输协议的基本原理。。
【在 l****c 的大作中提到】 : 2. A锁上,给B,B再锁上,还给A,A开锁给B,B开开了,哈哈
|
l****c 发帖数: 782 | 6 地4题是3/4的概率吗?
2×积分(from 0 to 180)((360-t)/360/360)d(t).
第一刀下去,第二刀一圈的概率相等,蜡烛在大面积的概率为(360-t)/360,t为第二刀
的位置。 |
k***t 发帖数: 33 | 7 4: int_0_pi (1- x/2pi) / int_0_pi 1 = 3/4
【在 v***y 的大作中提到】 : 最近面试碰到的几道挺有意思的面试题,发上来跟大家分享一下 : 1、有两个机器人站在数轴上,他们的距离是一个正整数,彼此不知道对方在哪儿,现 : 在你给他们编写命令,可以用的命令只有如下几种Basic风格的句子: : Move +1 : Move -1 : Goto 某行代码 : If(对方来过当前点) Then (自己填) : 问如何编程,才能使他们俩相遇? : (刚才忘了说,在每一秒钟机器人都会且只会移动一步,因此想利用追及的方式来解决 : 这个问题的,不可能用一个Move +1;Move +1 另一个Move +1来完成,因为前者执行两
|
p******9 发帖数: 47 | 8 1. 如果每秒只能移动一次,略微修改一下
1: If (visited by the other one) Then
2: Goto 4
3: Move - 1
4: Move + 1
5: Move + 1
6: Goto 1
3. 第1个结点1的概率取,第2个结点1/2的概率替换,第3个结点1/3的概率替换
如果是取k个结点,前k个结点1的概率取,之后第i个结点以i/k随机替换前面某个取出
的点 |
b***e 发帖数: 1419 | 9 第一题,如果test是在自己到过的点上,那么就左右震荡。每次增幅为1。
【在 v***y 的大作中提到】 : 最近面试碰到的几道挺有意思的面试题,发上来跟大家分享一下 : 1、有两个机器人站在数轴上,他们的距离是一个正整数,彼此不知道对方在哪儿,现 : 在你给他们编写命令,可以用的命令只有如下几种Basic风格的句子: : Move +1 : Move -1 : Goto 某行代码 : If(对方来过当前点) Then (自己填) : 问如何编程,才能使他们俩相遇? : (刚才忘了说,在每一秒钟机器人都会且只会移动一步,因此想利用追及的方式来解决 : 这个问题的,不可能用一个Move +1;Move +1 另一个Move +1来完成,因为前者执行两
|
v***y 发帖数: 7 | 10 对的就是这样~
【在 p******9 的大作中提到】 : 1. 如果每秒只能移动一次,略微修改一下 : 1: If (visited by the other one) Then : 2: Goto 4 : 3: Move - 1 : 4: Move + 1 : 5: Move + 1 : 6: Goto 1 : 3. 第1个结点1的概率取,第2个结点1/2的概率替换,第3个结点1/3的概率替换 : 如果是取k个结点,前k个结点1的概率取,之后第i个结点以i/k随机替换前面某个取出 : 的点
|
|
|
l*****i 发帖数: 136 | 11
^^^what if i>k?
【在 p******9 的大作中提到】 : 1. 如果每秒只能移动一次,略微修改一下 : 1: If (visited by the other one) Then : 2: Goto 4 : 3: Move - 1 : 4: Move + 1 : 5: Move + 1 : 6: Goto 1 : 3. 第1个结点1的概率取,第2个结点1/2的概率替换,第3个结点1/3的概率替换 : 如果是取k个结点,前k个结点1的概率取,之后第i个结点以i/k随机替换前面某个取出 : 的点
|
l*****i 发帖数: 136 | 12 3. 取k个数,前k节点概率为1,if i>k, 以k/(n+1)的概率用当前节点替换前k个节点中
随机取出的点
【在 p******9 的大作中提到】 : 1. 如果每秒只能移动一次,略微修改一下 : 1: If (visited by the other one) Then : 2: Goto 4 : 3: Move - 1 : 4: Move + 1 : 5: Move + 1 : 6: Goto 1 : 3. 第1个结点1的概率取,第2个结点1/2的概率替换,第3个结点1/3的概率替换 : 如果是取k个结点,前k个结点1的概率取,之后第i个结点以i/k随机替换前面某个取出 : 的点
|
n******n 发帖数: 567 | 13 听到‘追击问题’这个单词的时候我泪流满面,小学奥数老师的脸孔好像就在眼前。。
。。。。。。。。。。。。。。。。。。。。。。。。 |
vn 发帖数: 6191 | 14 第4题需要知道蜡烛多大吧。。。 要是蜡烛和蛋糕一样大的话就是100%啊 |
b*********n 发帖数: 1258 | 15 第一题,如果test是在自己到过的点上,那么就左右震荡。每次增幅为1。
1: if(visited by self) then GOTO 4
2: move -1
3: GOTO 6
4: move +1
5: GOTO 1
6: if(visited by self) then GOTO 9
7: move +1
8: GOTO 1
9: move -1
10: GOTO 6
【在 v***y 的大作中提到】 : 最近面试碰到的几道挺有意思的面试题,发上来跟大家分享一下 : 1、有两个机器人站在数轴上,他们的距离是一个正整数,彼此不知道对方在哪儿,现 : 在你给他们编写命令,可以用的命令只有如下几种Basic风格的句子: : Move +1 : Move -1 : Goto 某行代码 : If(对方来过当前点) Then (自己填) : 问如何编程,才能使他们俩相遇? : (刚才忘了说,在每一秒钟机器人都会且只会移动一步,因此想利用追及的方式来解决 : 这个问题的,不可能用一个Move +1;Move +1 另一个Move +1来完成,因为前者执行两
|