问题
编写一个程序,从包含1-100
的ArrayList
中删除偶数。
我只能说哇
这就是我的实现方式。
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(输入)呈线性正比。
他说:嗯,那意味着当输入大小增加时,我需要等待更长时间才能获得结果,对吗?是的,先生,您说得对
。
他说:为我调整一下,尽可能使其成为Log(N)
。在这一部分,我失败了。
- 因此,来这里寻找正确的逻辑、答案或算法。
注意:他不想使用Linq,也不要额外添加功能。只需使用简单的循环或其他逻辑即可完成。