西西河

主题:【原创】由一个简单的面试题想起的 -- 东方射日

共:💬43 🌺18 新:
全看分页树展 · 主题 跟帖
家园 另一种思路

假设开始步长是 L,那么下一次步长应该是 L-1。因为你已经试过一次。

第一次如果破了:

f(n) = 1 + f(L-1);

第二次才破:

f(n) = 1 + f(L-1);

第三次才破:

f(n) = 1 + 1 + f(L-2);

所以:(当步长减到1时,你应该刚好走到终点)

L + (L-1) + .. + 1 = n - 1 (最后一步)

n=(L+1)*L/2 + 1

当n=100, L=13 (约等于)

补充:参照“走南闯北”给出的论文,我意识到这个结论是对最坏情况的(L=14)。平均情况还是得用上面的动态算法。

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河