小编gru*_*MER的帖子

圆形阵列中两个元素之间的最小距离

给定一个圆形阵列,确定两个元素之间的最小距离的有效方法是什么?

例如从这里搬家

[0,0,0,0,0,1]
Run Code Online (Sandbox Code Playgroud)

到这里

[1,0,0,0,0,0]
Run Code Online (Sandbox Code Playgroud)

从这里开始,从外边界更方便

[0,0,0,0,0,1]
Run Code Online (Sandbox Code Playgroud)

到这里

[0,0,0,1,0,0]
Run Code Online (Sandbox Code Playgroud)

内部更方便.

我最初的想法是这样的:

sourceLocation = rotatorElements["pos"].indexOf(1);
targetLocation = rotatorElements["pos"].rotate(delta).indexOf(1);

var D = Math.abs(targetLocation - sourceLocation);
var O = Math.abs(rotatorElements["pos"].length - D);

if ((D - O == 0)) direction = 1;
else {
    if (D < O) direction = -1;
    else direction = 1;
}
Run Code Online (Sandbox Code Playgroud)

注意:rotate将圆形阵列旋转定义的位置数.

javascript math

9
推荐指数
2
解决办法
2139
查看次数

标签 统计

javascript ×1

math ×1