【发布时间】:2019-11-06 15:52:24
【问题描述】:
我有一个数字数组 [x1、x2、x3 等],其大小超过 20 个元素,我正在尝试组合一个算法,根据元素相对于列表的其余部分。
在给定阈值 T1 的情况下,我将“奇数”定义为与重心的距离。重心是值往往集中的地方,可能给定第二个阈值 T2。
示例: [20, 20, 21, 31, 24, 20, 70, 21, 31, 24, 20, 20, 21, 31, 24, 20, 20, 21, 31, 24] 和 T1=10 重心大约是 24,只有奇数一个是 70
这种情况是微不足道的,因为熟悉的“距均值或中位数的距离”指标会做,例如。 d(70)=|24-70|=46>10=T1 和 d(31)=|24-31|=7
我不太清楚如何处理具有 2 个或更多重心的更一般情况。
示例 2: [20、20、21、31、24、20、70、21、31、24、120、120、121、131、124、120、120、121、131、124] 现在有两个重心 d1=24 和 d2=124,唯一的奇数仍然是 70
但之前的指标分解了。也许困难的部分是找出哪些是重心。
注意:我正在寻找一种快速的算法,而不是一个准确的算法
【问题讨论】:
-
@Balmar 我不是在寻找特定的解决方案。我面临的问题是理论计算机科学。我试图包含尽可能多的信息和尽可能多的信息。什么样的最小可重现示例适合这种情况?
-
这是一个编程问答,问题和答案一般预计会涉及实际代码。更多抽象的CS问题可以在Computer Science或Theoretical Computer Science提出
-
对此我很抱歉。
-
为了让网站更容易接受您的问题,您可以考虑将
python标记替换为language-agnostic,并可能会问,如何解决这个问题? -
我很惊讶,因为我看到这种帖子到处都是。
标签: algorithm sorting language-agnostic computer-science