【发布时间】:2020-04-20 19:59:47
【问题描述】:
在 for 循环中,代码不起作用。错误:索引超出了数组的范围。 当我将代码放入 main 方法并手动尝试时,一切正常。你能告诉我有什么问题吗?
namespace HackerRankProblems
{
class Program
{
static int[] serviceLane(int n, int[] width, int[,] cases)
{
List<int> list = width.OfType<int>().ToList();
List<int> returnList = new List<int>();
List<int> tempList;
for (int i = 0; i < n; i++)
{
tempList = list.GetRange(cases[i, 0], cases[i, 1]);
returnList.Add(tempList.Min());
}
int[] returnArray = returnList.ToArray();
return returnArray;
}
static void Main(string[] args)
{
int[,] cases = new int[,]
{
{1,2},
{3,4},
{5,7}
};
int[] width = new int[] { 2, 3, 1, 2, 3, 2, 3, 3 };
List<int> lista = width.OfType<int>().ToList();
List<int> returnLista = new List<int>();
List<int> tempList = lista.GetRange(cases[3, 0], cases[1, 1]);
returnLista.Add(tempList.Min());
int[] returnArray = returnLista.ToArray();
string.Join(",", serviceLane(3, width, cases));// Error
}
}
}
【问题讨论】:
-
提示 -
cases[3,0] -
没有足够的案例
-
@phuzi 在你的提示下,阅读问题,是的,这是 main 方法中的错误,serviceLane 方法中的错误是什么。就像我说的主要方法中的代码有效,我错误地输入了 3,0。
标签: c#