33,010
社区成员
发帖
与我相关
我的任务
分享
private int[][] createPerArray(int totalCount, int selectCount)
{
List<int[]> All = new List<int[]>();
int[] currentSelect = new int[selectCount];
int last = selectCount - 1;
int position;
for (int i = 0; i < selectCount; i++)
{
currentSelect[i] = i;
}
while (true)
{
All.Add((int[])currentSelect.Clone());
if (currentSelect[last] < totalCount - 1)
{
currentSelect[last]++;
}
else
{
position = last;
while (position > 0 && currentSelect[position - 1] == currentSelect[position] - 1)
{
position--;
}
if (position == 0)
{
break;
}
currentSelect[position - 1]++;
for (int i = position; i < selectCount; i++)
{
currentSelect[i] = currentSelect[i - 1] + 1;
}
}
}
return All.ToArray();
}