public int[] TwoSum(int[] nums, int target) {
Dictionary<int, int> kvs = new Dictionary<int, int>();
for (int i = 0; i < nums.Length; i++)
{
int complement = target - nums[i];
if (kvs.ContainsKey(complement) && kvs[complement] != i)
{
return new int[] { kvs[complement] ,i};
}
//需要對重復值進行判斷,若結果包含了重復值,則已經被上面給return了;所以此處對於重復值直接忽略
if (!kvs.ContainsKey(nums[i]))
{
kvs.Add(nums[i], i);
}
}
return new int[] { 0, 0 };
}
}
力扣解題