gpt4 book ai didi

c# - 序列数组

转载 作者:行者123 更新时间:2023-11-30 13:12:06 25 4
gpt4 key购买 nike

假设我有一个整数序列,从 0(总是从 0 开始)到 3。现在,我有一个整数数组,它将把这些序列从某个点开始一个接一个地循环。例如:

一个包含 10 个元素的数组,序列是 0 到 3,从 2 开始,应该得到 2, 3, 0, 1, 2, 3, 0, 1, 2, 3。

5 个元素的数组,序列 0 到 5,从 5 开始,应该产生 5、0、1、2、3。

5 个元素的数组,序列 0 到 10,从 3 开始,应该产生 3、4、5、6、7。

我的脑子冻僵了!如果您知道数组大小、最大序列数和起始值,那么创建此数组的最佳方法是什么?


我最好的尝试是:

private static int[] CreateIndexers(int index, int size, int players) 
{
var indexers = new int[size];
for (int i = 0; i < size; i++)
{
var division = i / players;
var newInt = division + i >= players ? ((division + i) - players) : division + i;
indexers[i] = newInt;
}

return indexers;
}

最佳答案

public static IEnumerable<int> Foo(int count, int start, int max)
{
return Enumerable.Range(0, count)
.Select(n => (n + start) % (max + 1));
}

关于c# - 序列数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15012347/

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