我收到了这个面试问题,并坚持下去:
从0号站开始有无数的火车站.
有无数的火车.第n列火车在所有k*2 ^(n-1)站停靠,其中k在0和无穷大之间.
当n = 1时,第一列火车停在0,1,2,3,4,5,6等站点.
当n = 2时,第二列火车在0,2,4,6,8等站停止.
当n = 3时,第三列火车在0,4,8,12等站停靠.
给定起始站号和终端站号,返回它们之间的最小停靠点数.您可以使用任何列车从一站到另一站.
例如,start = 1和end = 4之间的最小停靠次数为3,因为我们可以从1到2到4.
我正在考虑一个动态编程解决方案,它将存储在和dp[start][end]之间的最小步数.我们使用构建数组.但我无法让它发挥作用.你是如何解决这个问题的?startendstart...mid1, mid1...mid2, mid2...mid3, ..., midn...end
澄清: