gpt4 book ai didi

ruby - 如何将我的逻辑转换为 Ruby 中的算法? (获取最接近目标值的组合之和)

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

<分区>

我需要创建最接近目标值的值总和的组合。该组合需要包含 x 个数字,其中 x 由用户定义。该算法将输出最接近用户输入的目标值的组合。我还需要显示算法返回的键(值)。

我认为算法的工作原理如下:

目标:575

具有相应键的值:

150 [0] | 75 [1] | 123 [2] | 212 [3] | 23 [4] | 89 [5] | 20 [6]

77 [7] | 39 [8] | 16 [9] | 347 [10] | 512 [11] | 175 [12]

用户想要组:5个值

该算法现在对整个集合运行 5 个值之和的组合,并返回最接近目标值 575 的值之和。

结果

150 [0] + 212 [3] + 23 [4] + 77 [7] + 89 [5] = 551

使用的键是 0、3、4、7 和 5。

我可以使用 Arrays#combination(n),但我无法跟踪键。我已经能够想出一个存储“key”=>“int values”的 Hash,但我不知道如何想出一个优化算法来组合存储在 Hash 中的值。

{0=>"150"}
{1=>"212"}
{2=>"23"}
{3=>"77"}
{4=>"89"}

附言这不是作业。投简历,面试谈,学习将想法转化为代码的个人项目。

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