gpt4 book ai didi

c# - 如何创建固定大小的容器并将正确的值放入正确的容器中(此逻辑的高效算法)

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

需要高效算法的帮助来收集将在图表中显示的数据。我使用的是 C#,但您可以使用伪代码作为解决方案。

为了解释我正在使用下面的示例。从零开始在两侧创建 10 个箱子(正箱子和负箱子)。垃圾桶只是一个容器。 (柜台)

  • bin10(数字 91 到 100 放入此 bin)
  • bin9(数字 81 到 90 放入此 bin)
  • bin8(数字 71 到 80 进入此 bin)

以此类推直到

  • bin2(数字 11 到 20 进入此 bin)
  • bin1(数字 1 到 10 放在这个箱子里)
  • bin0(这个 bin 中的数字 0 - 设定点。任何数字都可以作为设定点。我已经用 0 来说明)

  • bin-1(数字 -1 到 -10 进入此 bin)

  • bin-2

以此类推直到

  • bin-10(数字 -91 到 -100 放入此 bin)

需要以下高效算法的帮助。

int[] bins = CreateBins(bin range, number of bins on each side, setpoint)

CreateBins(10, 10, 0)
{
//??
}

FindTheRightBinAndInsertInFoundBin(value, bin[])
{
//??
}

FindTheRightBinAndInsertInFoundBin(77, bin[])
//that should basically do a bin8++ where bin8 is an index into the bin array

更新:如果二维数组可以完成工作,它就可以了。 (或与此相关的任何数据结构,如字典等)。

谢谢

最佳答案

CreateBins 可以返回一个大小合适的数组。

PutInBin 可以使用此方法计算哪个 bin,然后添加一个偏移量使其适合数组(无负索引)。

int GetBin(int value)
{
if (value) == 0 return 0;
else if (value<0) return (value-9)/10;
else return (value+9)/10;

}

关于c# - 如何创建固定大小的容器并将正确的值放入正确的容器中(此逻辑的高效算法),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7382772/

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