我今天被问到这个问题,我知道答案很简单,但他让我一直坚持到最后。
问题
ArrayList
编写一个程序来删除存储在contains 中的偶数1 - 100
。
我只是说哇
给你,这就是我实现它的方式。
ArrayList source = new ArrayList(100);
for (int i = 1; i < 100; i++)
{
source.Add(i);
}
for (int i = 0; i < source.Count; i++)
{
if (Convert.ToInt32(source[i]) % 2 ==0)
{
source.RemoveAt(i);
}
}
//source contains only Odd elements
扭曲
他问我这个给他一个方程的计算复杂度是多少。我刚刚做了并说这是与 N(输入)成正比的线性。
他说:嗯..所以这意味着当输入大小增加时我需要等待更长的时间才能得到结果,对吗?Yes sirr you are
为我调整它,让它Log(N)
尽可能多地尝试,他说。我在这部分惨败。
- 因此,请来这里寻找正确的逻辑、答案或算法来做到这一点。
注意:他不需要 Linq,不需要额外的花里胡哨。只是简单的循环或其他逻辑来做到这一点