【发布时间】:2021-12-18 08:24:35
【问题描述】:
第一个数组是随机填充的,它的长度是从控制台设置的。我有一个数组,我需要在其中编写一个重复数字的子数组和重复数字的数量。例如{3 3 3 3 3 4},3 3 3 3是重复的数字,4是它们的数字。
问题是如果数组末尾有重复的数字,循环不会输出它们,如果我进入调试模式,我可以看到并不是所有的数字都被写入。可能是什么问题?
for (int i = 1; i < array.Length; i++)
{
if (array[i - 1] == array[i])
{
if((i + 1) != array.Length)
{
duplicateCount++;
addArray = array[i - 1];
duplicate += addArray + " ";
}
else
{
duplicateCount++;
lastElement = array[i - 1];
duplicate += lastElement;
}
}
else
{
if (duplicateCount != 1)
{
addPrevious = array[i - 1];
duplicate += addPrevious + " ";
duplicateArrays.Add(duplicate + duplicateCount);
duplicate = "";
duplicateCount = 1;
}
else
{
duplicateCount = 1;
}
}
}
duplicateArrays.Add(duplicate + duplicateCount);
【问题讨论】:
-
你的问题不清楚,你能用一个例子澄清你在问什么。我建议您仔细阅读 SO tour 部分,因为它显示了 SO 的工作原理。 How to Ask 部分可能会有所帮助。此外,您可能会发现 SO Asking 部分很有用。
-
不清楚你在问什么,但很可能你只需要使用 GroupBy
-
您是想说从一个大随机数组中创建各种子数组,这些子数组将具有来自该大随机数组的重复数字,并且最后一个元素包含一个数字,该数字表示如何之前的元素多次出现在子数组中?
-
如果我对你的问题的理解是正确的,我已经创建了一个代码来做你想做的事情。请检查这是否是您所期望的:onlinegdb.com/dD2_LJgnY
-
@AbhinavPandey,它有效,谢谢