avatar
说几道面试题# JobHunting - 待字闺中
v*y
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,又问概率具体是多少?
第一次发帖,请大家多多指教呀。
avatar
l*i
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来完成,因为前者执行两

avatar
l*c
3
2. A锁上,给B,B再锁上,还给A,A开锁给B,B开开了,哈哈
avatar
v*y
4
我刚刚漏了说一个条件,就是每秒钟只能move一格,所以如果用你这个方案的话,效果
是两者速度一样,解决不了的哦

【在 l*****i 的大作中提到】
: 这是我临时想的第一题
: 1: If (visited by the other one) Then
: 2: Move +1
: 3: Move +1
: 4: Goto 1
: 两个机器人执行相同的程序,后者可以追杀前者
: 应该还有更快追上的办法

avatar
v*y
5
Bingo~!
貌似这也是某个网络传输协议的基本原理。。

【在 l****c 的大作中提到】
: 2. A锁上,给B,B再锁上,还给A,A开锁给B,B开开了,哈哈
avatar
l*c
6
地4题是3/4的概率吗?
2×积分(from 0 to 180)((360-t)/360/360)d(t).
第一刀下去,第二刀一圈的概率相等,蜡烛在大面积的概率为(360-t)/360,t为第二刀
的位置。
avatar
k*t
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来完成,因为前者执行两

avatar
p*9
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随机替换前面某个取出
的点
avatar
b*e
9
第一题,如果test是在自己到过的点上,那么就左右震荡。每次增幅为1。

【在 v***y 的大作中提到】
: 最近面试碰到的几道挺有意思的面试题,发上来跟大家分享一下
: 1、有两个机器人站在数轴上,他们的距离是一个正整数,彼此不知道对方在哪儿,现
: 在你给他们编写命令,可以用的命令只有如下几种Basic风格的句子:
: Move +1
: Move -1
: Goto 某行代码
: If(对方来过当前点) Then (自己填)
: 问如何编程,才能使他们俩相遇?
: (刚才忘了说,在每一秒钟机器人都会且只会移动一步,因此想利用追及的方式来解决
: 这个问题的,不可能用一个Move +1;Move +1 另一个Move +1来完成,因为前者执行两

avatar
v*y
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随机替换前面某个取出
: 的点

avatar
l*i
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随机替换前面某个取出
: 的点

avatar
l*i
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随机替换前面某个取出
: 的点

avatar
n*n
13
听到‘追击问题’这个单词的时候我泪流满面,小学奥数老师的脸孔好像就在眼前。。
。。。。。。。。。。。。。。。。。。。。。。。。
avatar
vn
14
第4题需要知道蜡烛多大吧。。。 要是蜡烛和蛋糕一样大的话就是100%啊
avatar
b*n
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来完成,因为前者执行两

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。