【问题标题】:Minimum number of steps to reach a position到达位置的最小步数
【发布时间】:2014-11-08 15:05:17
【问题描述】:

我在一条无限长的数轴上,目前在零位。每一步我只能将R units 向右和L units 向左。达到point H. 所需的最少步数是多少

我能知道用来解决这个问题的算法吗?

【问题讨论】:

  • 这个问题似乎离题了,因为它不是一个具体的编程问题。
  • 您应该提供更多详细信息:列表是否已排序,我们可以采取 1 Units 的步骤吗?
  • @DSM:也许应该把它移到programmers SE
  • 列表是什么?没有步骤是右 R 单位或左 L 单位
  • List 是一种数据结构,可以在一行中生成无限数量的数据元素。就像一个无限数组。

标签: algorithm


【解决方案1】:

您可以使用扩展欧几里得算法来有效地解决这个问题。它实际上为
A * x + B * y = gcd(A, B) 方程找到了解决方案,但您的问题很容易归结为这个问题。在AB 适合标准整数类型(即不需要大数字)的假设下,它具有O(log(max(A, B)) 时间复杂度。您可以在此处阅读更多相关信息,例如:http://en.wikipedia.org/wiki/Extended_Euclidean_algorithm

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-09
    • 1970-01-01
    • 1970-01-01
    • 2014-05-17
    • 2013-12-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多