gpt4 book ai didi

java - 从一组聚合(总和、平均值等)构建具体列表

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:24:05 24 4
gpt4 key购买 nike

我正在尝试编写一个函数,该函数获取有关数字列表(货币)的一些聚合信息,并返回具有这些属性的具体列表。因此,例如,我会要求一份平均值(value) 265.43 美元、总和为 6,000 美元、最高为 1,000 美元等的列表。我将得到一份完整的列表作为返回,其值(value)平均为 265.43 美元,总和为 6,000 美元等。满足属性的列表可能有很多,但我不需要一一列举,只需要返回其中任意一个即可。

列表的属性如下:

  • 长度为N
  • 总和为 S
  • 平均分是A
  • 最小的数字是L
  • 最高的数字是H
  • 它匹配美元范围的分割:
    • X 个值小于 75 美元
    • 在 $75 到 $200 之间有 Y 个值
    • Z 值大于 200 美元

我想为每个参数传递值,并返回一个匹配它们的列表。我有几百个这样的集合 { N, S, A, L, H, X, Y, Z } 但我没有任何用于生成它们的支持列表。我不需要我生成的列表与原始列表完全相同,我只需要它们从聚合的角度来看与原始列表看起来相同。

我想这样调用它 --> list = gimmeThatList(N, S, A, L, H, X, Y, Z)

我什至不确定从哪里开始寻找这方面的信息,因此我们将不胜感激任何帮助,即使它只是一个链接或一个谷歌搜索词。一些真正的代码会很好,如果你能抽出时间,但我会尽我所能。

最佳答案

一些想法:

  • N 是多余的,因为它是 X、Y 和 Z 的总和
  • A 是多余的,因为它等于 S/N
  • LH 可以替换为 X、Y 和 Z 子集的通用价格范围条件。您可以假定这些值出现在列表中并解决简化的问题 (S' = S - L - H, X', Y', Z') 相应地调整 X、Y 和 Z限制缩减列表中的所有数字都在 [L, R] 范围内

对于 X' 值,我们有范围 [L, min (75, H)],对于 Y' 值 [max (75, L), min (H,200)],对于 Z' [max (L , 200), H]

我们可以很容易地计算下限 X' * L + Y' * max (75, L) + Z' * max(L, 200) 和相应的可能总和的上限我们可以创造。通过一个简单的贪心算法(留给读者作为练习,考虑 X、Y 和 Z 范围的单个总和下限/上限)我们还可以生成该范围内的每个总和,包括 S'

关于java - 从一组聚合(总和、平均值等)构建具体列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21769112/

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