問題
繰り返し数の配列で繰り返しのない数のリストを見つけます。
私の解決策
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)
上記の計算された時間の複雑さ、およびこのプログラムをより効率的かつ高速にするにはどうすればよいかわかりません。