当前位置: 首页 > 知识库问答 >
问题:

列表中两个值之间的最小距离,考虑到列表在结束和开始之间是连接的

赵永新
2023-03-14

我想找到列表中任意2个值之间的最小距离。然而,考虑到顺时针和逆时针运动,我需要最小的距离。

例如,我有列表[0, 4, 5, 6, 3, 1]。说我想要一对之间的距离(4,1)

按“顺时针”移动,考虑到指数差异,结果明显为4。但是,如果一个人“逆时针”移动并认为列表已连接,那么0是1的邻居。距离是2,这是我想要的结果。

我该如何实现这一点?

我想加入名单。

[0, 4, 5, 6, 3, 1, 0, 4, 5, 6, 3, 1]

然而,也有重复的,我不知道如何选择这些。

共有1个答案

终弘厚
2023-03-14

有几种方法可以做到这一点。一种方法是首先注意如何得到反向索引。假设索引(1)=-1。现在距离是索引(4)-索引(1)=1=2-1在本例中仅表示len(a)-1。因此,对于每对索引i1i2,计算两个量max(i1,i2)-min(i1,i2),以及min(i1,i2)len(a)-max(i1,i2),并取较小的一个。

 类似资料:
  • 问题内容: 我有两个表: 我希望将事件数据添加到视频数据中,以便为每个事件获取视频文件名。记录器字段用于指定在事件发生时可操作的记录器,并协助多个记录器同时记录视频。 如果我不关心没有视频的事件,那很好(我可以获取SQL),但是在我的情况下,我希望显示最接近的视频文件名和秒数差异。 编辑 样本数据 大事记 视频 结果(EventID,VideoID,文件名,IsBetween,secondsDif

  • 我想有一个随机列表,其中1的出现率为10%,其余项目为零。这个列表的长度是1000。我希望这些值以随机顺序排列,以便它们之间有一个可调整的最小距离。例如,如果我选择一个值3,列表将如下所示: 实现这一点最优雅的方法是什么? 编辑我被要求提供更多的信息并表现出一些努力。 这是一项研究,其中0表示一种刺激,1表示另一种刺激,我们希望刺激类型1之间有一个最小距离。 到目前为止,我通过以下方式实现了这一目

  • 问题内容: 我已经看到在Python中实际上有两种(也许更多)串联列表的方法:一种方法是使用extend()方法: 另一个使用plus(+)运算符: 现在,我想知道:这两个选项中的哪一个是列表连接的“ pythonic”方式,并且两者之间有区别(我查看了Python的官方教程,但找不到有关此主题的任何信息)。 问题答案: 在字节码级别上的唯一区别是,该方式涉及函数调用,在Python中该函数比。调

  • 问题内容: 我在尝试实现的算法周围束手无策。我有两个列表,希望从两个列表中进行特定组合。 这是一个例子。 在这种情况下,输出为: 我的名字可能比数字多,即。这是一个具有3个名称和2个数字的示例: 输出: 问题答案: 注意 :此答案是针对上面提出的特定问题的。如果您来自Google,只是想寻找一种使用Python获得笛卡尔积的方法,或者您可能正在寻找简单的列表理解方法- 请参见其他答案。 假设。然后

  • 我对计算两个numpy阵列(x和y)之间的各种空间距离感兴趣。 http://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.spatial.distance.cdist.html 但是,上述结果会产生太多不需要的结果。我怎样才能限制它只用于我所需的结果。 我想计算[1,11]和[31,41]之间的距离;[2,22]和[32,42

  • 问题内容: 我正在使用Python + Numpy(也可以使用Scipy)并具有三个2D点 我试图获得从P3垂直到P1和P2之间绘制的直线的距离。设,和 用矢量符号表示这很容易,但是我对python / numpy还是相当陌生,无法获得任何有效的方法(甚至是关闭方法)。 任何提示表示赞赏,谢谢! 问题答案: 尝试使用以下 规范 函数