简单说一下 前进一步、后退一步都可以当成前进2的次幂距离、后退2的次幂距离。反复执行x*2的操作m次相当于执行x * (2的m次幂)。在确定了m的情况下,只需求解操作所需最小次数即可。m可以在O(logn)的时间找到(1个或者2个)。
不需要分配额外的空间,无递归。
详细见 https://hi.makkapakka.date/blog/detail?id=17