我正在尝试对hackerrank进行超级挑战,我基本上已经找到了一种算法,但是由于某种原因,我在我的while循环中抛出了ArgumentOutOfRangeException。我希望有人可以向我解释是什么原因造成的。 :)
static void sockMerchant(int n, int[] ar)
{
List<List<int>> pairs = new List<List<int>>();
List<int> newAr = new List<int>();
foreach (int item in ar)
{
newAr.Add(item);
}
for (int x = 0; x < newAr.Count; x++)
{
pairs.Add(new List<int>());
pairs[x].Add(newAr[0]);
newAr.RemoveAt(0);
for (int y = 0; y < newAr.Count; y++)
{
Console.WriteLine(pairs[x][0]);
Console.WriteLine(newAr[y]);
try
{
while (pairs[x][0] == newAr[y])
{
pairs[x].Add(newAr[y]);
newAr.RemoveAt(y);
}
}
catch (ArgumentOutOfRangeException e)
{
Console.WriteLine(e);
}
}
}
}