**1. Two Sum(Easy)**
Given an array of integers, return indices of the two numbers such that they add up to a specific target.
You may assume that each input would have exactly one solution, and you may not use the same element twice.
Example:
Given nums = [2, 7, 11, 15], target = 9,
Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].
public static int[] TwoSum1(int[] nums, int target)
{
for (int i = 0; i < nums.Length; i++)
{
for (int j = i + 1; j < nums.Length; j++)
{
if (nums[i] + nums[j] == target)
{
return new int[] { i, j };
}
}
}
return null;
}
public static int[] TwoSum2(int[] nums, int target)
{
List<int> list = new List<int>();
for (int i = 0; i < nums.Length; i++)
{
list.Add(nums[i]);
}
for (int j = 0; j < nums.Length; j++)
{
if (list.Contains(target - nums[j]) && list.IndexOf(target - nums[j]) != j)
return new int[2] { j, list.IndexOf(target - nums[j]) };
}
return null;
}
public static int[] TwoSum3(int[] nums, int target)
{
List<int> list = new List<int>();
for (int j = 0; j < nums.Length; j++)
{
list.Add(nums[j]);
int completation = target - nums[j];
if (list.Contains(completation) && list.IndexOf(completation) != j)
return new int[2] { j, list.IndexOf(completation) };
}
return null;
}