【发布时间】:2015-12-25 09:57:03
【问题描述】:
我有一个列表,里面有一些值
for (int i = 0; i < InputNumbers.Length; i++)
{
InputNumbers[i] = Convert.ToInt32(Console.ReadLine());
LongestSequence.Add(InputNumbers[i]);
}
for (int i = 0; i < InputNumbers.Length; i++)
{
if (i > 0)
{
if (LongestSequence[i] < LongestSequence[i - 1])
{
LongestSequence.Remove(LongestSequence[i]);
LongestSequence.Insert(i, null);
}
}
}
如您所见,我将我的数组 InputNumbers 中的所有值添加到列表 LongestSequence 中,完成后我删除其中一些值并在替换值索引处插入“null”。所以这会创建类似边框的东西:
null
1
2
null
我想知道这 2 个空值之间的值的长度。在这种情况下,它是 2
- 如果输入为 1 2 3 0,则 null 将位于开头并替换零,因为 0 小于 3,并且我正在寻找最长的非递减序列
【问题讨论】:
-
列表中是否只有两个空值?
-
请解释这段代码的目的是什么,因为它似乎很难理解
-
不,可能有数百个空值
-
那么当列表中有数百个空值时应该输出什么?
-
如果输入为 1 2 3 0,则 null 将位于开头并将替换零,因为 0 小于 3,并且我正在寻找最长的非递减序列