美文网首页
1. 两数之和

1. 两数之和

作者: 叫我颜先生 | 来源:发表于2020-05-05 21:17 被阅读0次

    描述:

    给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。

    你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。

    示例:

    给定 nums = [2, 7, 11, 15], target = 9
    
    因为 nums[0] + nums[1] = 2 + 7 = 9
    所以返回 [0, 1]
    

    想法:

    利用字典查找Key方式来解决

    代码

    public int[] TwoSum(int[] nums, int target)
    {
        if (nums.Length < 2) return null;
    
        Dictionary<int, int> dic = new Dictionary<int, int>();
    
        for (int i = 0; i < nums.Length; i++)
        {
            if (dic.ContainsKey(nums[i]))
            {
                return new int[] { dic[nums[i]], i };
            }
    
            if(!dic.ContainsKey(target - nums[i]))
            {
                dic.Add(target - nums[i], i);
            }
        }
    
        return null;
    }
    

    相关文章

      网友评论

          本文标题:1. 两数之和

          本文链接:https://www.haomeiwen.com/subject/juivghtx.html