【发布时间】:2012-06-18 17:08:48
【问题描述】:
问题
在重复数字数组中查找不重复数字的列表。
我的解决方案
public static int[] FindNonRepeatedNumber(int[] input)
{
List<int> nonRepeated = new List<int>();
bool repeated = false;
for (int i = 0; i < input.Length; i++)
{
repeated = false;
for (int j = 0; j < input.Length; j++)
{
if ((input[i] == input[j]) && (i != j))
{
//this means the element is repeated.
repeated = true;
break;
}
}
if (!repeated)
{
nonRepeated.Add(input[i]);
}
}
return nonRepeated.ToArray();
}
时间和空间复杂度 时间复杂度 = O(n^2) 空间复杂度 = O(n)
我不确定上面计算的时间复杂度,以及如何使这个程序更高效和快速。
【问题讨论】:
-
你现在在面试吗? :D
-
很抱歉,您要问的实际问题是什么?
-
明确一点:这是 C++ 吗?它必须是 C++ 还是可以是任何语言或伪代码?
-
@RobertHarvey 不,我实际上正在准备一个
-
@jsalonen 我想知道如何让这个程序更高效,我计算的复杂度是否正确?
标签: algorithm complexity-theory time-complexity