小编use*_*480的帖子

检查是否存在圆圈

谷歌访谈期间我被问到这个问题.我们给出一个由字母-F,L,R组成的字符串. - 这是机器人遵循的指令

F-向前迈出一步.

向左转弯.

向右转.

字符串长度最多为2500个字符.

字符串无限次地运行.我们需要判断是否存在具有半径的圆,r(r可以是任何实数),这样机器人永远不会离开圆.我被困在这一点.我想到使用凸包,但如何检查无限次.用代码进行解释将不胜感激.请帮忙.提前致谢

algorithm geometry computational-geometry

24
推荐指数
1
解决办法
1万
查看次数

N*M 网格中按字典顺序排列的最小路径

我在最近的一次采访中发现了这一点。我们给定一个由数字组成的 N*M 网格,网格中的一条路径就是你遍历的节点。我们给定一个约束,我们只能在网格中向右或向下移动。所以给定这个网格,我们需要找到排序后按字典顺序最小的路径,从网格的左上角到达右下角,
例如。如果网格是 2*2
4 3
5 1
那么按照问题的字典顺序最小路径是“1 3 4”。遇到这样的问题怎么办?代码受到赞赏。提前致谢。

algorithm graph-theory graph

5
推荐指数
1
解决办法
7990
查看次数

网格中非相交路径的近似算法

我最近遇到了这个问题,并认为我可以在这里分享,因为我无法得到它。

我们得到一个编号为 1-25 的 5*5 网格,以及一组 5 对点,它们是网格上路径的起点和终点。

现在我们需要为 5 对点找到 5 条对应的路径,这样两条路径不应该重叠。另请注意,仅允许垂直和水平移动。此外,组合的 5 条路径应覆盖整个网格。

例如,我们给出了一对点:

P={1,22},{4,17},{5,18},{9,13},{20,23}
Run Code Online (Sandbox Code Playgroud)

那么对应的路径将是

  1. 1-6-11-16-21-22
  2. 4-3-2-7-12-17
  3. 5-10-15-14-19-18
  4. 9-8-13
  5. 20-25-24-23

到目前为止我想到的是:也许我可以计算所有点对从源到目标的所有路径,然后检查路径中是否没有公共点。然而,这似乎具有更高的时间复杂度。

谁能提出更好的算法?如果有人可以通过伪代码解释,我会很高兴。谢谢

algorithm approximation graph-algorithm

3
推荐指数
1
解决办法
2246
查看次数