gpt4 book ai didi

java - 将 List 分成 5 个最小值周围的 5 个 block 列表的好方法

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:28:34 27 4
gpt4 key购买 nike

好的,是时候发挥创意了。我有一个整数列表,想保留下面 5 个绿色框中的整数。我想过找到5个最小值,然后从每个最小值开始左右移动,直到下一个整数距离太远。然而,这可能很难做到,因为最后一个框有一些我想维护的分散值。

所以悬崖笔记,有一个整数列表,我想从中制作 5 个整数列表,5 个列表中的每一个都包含一个绿色框的值。

如果这个问题看起来很愚蠢,我很抱歉,我只是想看看其他人是否有比我上面提到的更好的方法来解决这个问题。

List of integers

编辑:也许 Levenberg-Marquardt 算法会有所帮助?要是我能看懂数学书就好了 xD。我发誓数学解释从来没有用英语写过,但如果有人只是告诉我用法,以及如何做,我就明白了。然后我可以再去从一本书里读一遍,然后又一遍又一遍地弄糊涂了!

最佳答案

这可能是一个可能的解决方案:

让我们调用您的整数列表 P[n]。

  • 定义一个新的点列表,我们称之为 MAX[n],这样计算:

如果 ((MAX[n] < P[n]) || (n == 0)) 最大值[n] = P[n];别的 MAX[n] = MAX[n-1];

这样,MAX[n] 列表将是图表上方的绿线:MAX[n]

第一个解决方案:要识别绿框内的点,您只需计算 P 列表的增量比率,并检查其绝对值何时小于阈值:

I = [P[n+1] - P[n]]/[T[n+1] - T[n]]

所以如果 I 低于阈值且 P 低于 MAX,则点进入绿色框:

if ((P[n] < MAX[n]) && (ABS(I) < DER_THRESHOLD)) //你的点在绿框内

根据您的图表,粗略地说,您可以设置 DER_THRESHOLD = 5。

第二种解决方案:计算一个新的整数列表,这次称为 AVG[n]:

AVG[n] = (MAX[n] + P[n])/2

这将以红线结束(对不起,这张丑陋的图表,是手工绘制的):

AVG[n]

现在您可以识别绿色框,只需检查您的 P[n] 是否低于 AVG[n]。

这个解决方案在 AVG 计算中使用某种低过滤可能会更好。

关于java - 将 List<Integer> 分成 5 个最小值周围的 5 个 block 列表的好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17978917/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com