- 主题:一道谷歌面试题
是的,这道题本质就是确定蚂蚁的初始位置。
假设题目改成蚂蚁不动,那能否在有限次内猜中这个初始的N?我认为是做不到的。
【 在 czlinpt (czlinpt) 的大作中提到: 】
: 你要审题,题目说有一只蚂蚁在某一个整数刻度上,就说明这个n是确定的,也许是100,或者100亿,或者100万亿,只是我们不知道而已。
--
FROM 210.12.183.*
nb
--
FROM 223.72.74.*
有限步的意思是,对任意_确定_的数N,一定能在有限步内得到答案
我懂你的类比,但是你的类比不合适
【 在 lushan5436 的大作中提到: 】
: 有限步数存在解?搞笑呢
: 这个题是类似1/x什么时候为0。不存在有限步解
:
: ....................
- 来自「最水木 for iPhone12,8」
--
FROM 166.216.158.*
你给定蚂蚁位置N,需要的次数2N+1一定是有限的
【 在 appletree 的大作中提到: 】
: 是的,这道题本质就是确定蚂蚁的初始位置。
: 假设题目改成蚂蚁不动,那能否在有限次内猜中这个初始的N?我认为是做不到的。
:
--
FROM 183.46.40.*
蚂蚁>=0。当然从0开始打呀。
非要钻牛角尖吗
【 在 libgcc 的大作中提到: 】
: 这啥意思
: 如果蚂蚁在0位,每次朝前+1,你第一枪就从2开始打,每次+2
: 你永远也打不到吧
: ...................
--
FROM 106.11.34.*
赞
【 在 lambdai 的大作中提到: 】
: 第一枪打0,排除掉一开始蚂蚁在0
: 第二枪打2,排除掉一开始蚂蚁在1
: 第三枪打1,排除掉一开始蚂蚁在-1
: ...................
--
FROM 222.67.180.*
你说的对。面试时会追问,如何优化?
【 在 iMx 的大作中提到: 】
: 这个不是取n次next,不是null就行了?
:
:
: ...................
--
FROM 106.11.34.*
总结版上思路,一共有4种:
1. 反推初始位置法,每打一枪对应一个初始位置,逐步检验。
2. 函数法,蚂蚁的走势是一条斜率45°直线,需要用一条斜率比它大和和一条斜率比它
小的直线(或曲线),才能在t>=0的时刻相交(不能时光倒流)。交替打枪。交点还必
须是整数。
3. 追赶+守株待兔法,一枪往前追赶,一枪等它撞上来,交替打枪。
4. 静止规约法,考虑蚂蚁静止的情况,只需要从某点开始往2边打枪。每枪的位置加上
蚂蚁位移修正即可。
有2点需要注意:
1. 蚂蚁初始位置不知道是大于0还是小于0。(需要2个方向搜索)
2. 交点必须是整数。(简单的函数相交、区间套扫描不可)
--
FROM 218.107.55.*
思路4不行吧?
【 在 raelag 的大作中提到: 】
: 总结版上思路,一共有4种:
: 1. 反推初始位置法,每打一枪对应一个初始位置,逐步检验。
: 2. 函数法,蚂蚁的走势是一条斜率45°直线,需要用一条斜率比它大和和一条斜率比它
: ...................
--
FROM 183.95.135.*
题目不是蚂蚁位置未知吗
【 在 smtm 的大作中提到: 】
: 蚂蚁>=0。当然从0开始打呀。
: 非要钻牛角尖吗
--
FROM 119.103.128.*