33 lines
780 B
C#
33 lines
780 B
C#
using System;
|
|
using System.Collections.Generic;
|
|
|
|
namespace Algorithms.Arrays
|
|
{
|
|
public class SingleNumber
|
|
{
|
|
public static int DetermineSingleNumber(List<int> numbers)
|
|
{
|
|
int single = numbers[0];
|
|
for(int i = 1; i < numbers.Count; i++)
|
|
{
|
|
single ^= numbers[i];
|
|
}
|
|
|
|
return single;
|
|
}
|
|
|
|
public static void Main()
|
|
{
|
|
List<int> numbers = new List<int> { 7, 1, 2, 3, 1, 7, 2 };
|
|
Console.WriteLine(DetermineSingleNumber(numbers));
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
/*
|
|
* Given a non-empty list of integers, every element except one appears twice
|
|
* Find out the single one
|
|
* Time complexity: O(n)
|
|
* Space complexity: O(1)
|
|
*/ |