原地址:点击打开链接
控制台下运行
public static void Main()
{
//Stopwatch sw = new Stopwatch();
//sw.Start();
int[] nums = new int[] { 3, 2, 4 };
int target = 6;
List<int[]> a = TwoSum(nums, target);
//sw.Stop();
//TimeSpan ts = sw.Elapsed;
//Console.WriteLine(ts.TotalMilliseconds);
}
public static List<int[]> TwoSum(int[] nums, int target)
{
List<int[]> result = new List<int[]>();
int[] result1 = new int[2];
for (int i = 0; i < nums.Length; i++)
{
var x = nums.Select((a, index) => new { a, index }).Where(n => n.a == (target - nums[i]));
if (x.ToList().Count() != 0 && i != x.ToList()[0].index)
{
int[] res = { i, x.ToList()[0].index };
var y = result.Where(a => a[0] == x.ToList()[0].index && a[1] == i);
if (y.ToList().Count == 0)
{
result.Add(res);
}
}
}
return result;
}