|
|

楼主 |
发表于 2020-12-17 14:57:11
|
显示全部楼层
C#题解如下。大佬们不要嘲笑我的代码风格,有其他版本的大佬也可以帖出来
/// <summary>
/// 这个算法,主要通过字典来判重找出其中的两个数字
/// </summary>
/// <param name="nums"></param>
/// <param name="target"></param>
/// <returns></returns>
private int[] TwoSum(int[] nums, int target)
{
Dictionary<int, int> dic = new Dictionary<int, int>();
for(var i = 0; i < nums.Length; i ++)
{
//判断字典或者哈希表中是否存在目标-当前数组值,是则返回
if(dic.ContainsKey(target-nums[i]))
{
return new int[2] { dic[target - nums[i]], i};
}
//以值为key,下标为value存入字典或者哈希表
dic.Add(nums[i], i);
}
return null;
} |
|