美文网首页LeetCode算法题解
LeetCode算法第1题:两数之和

LeetCode算法第1题:两数之和

作者: 小天使淘淘 | 来源:发表于2019-07-06 00:26 被阅读0次

    问题描述:

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

        你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。

    示例:

        给定 nums = [2, 7, 11, 15], target = 9

        因为 nums[0] + nums[1] = 2 + 7 = 9

        所以返回 [0, 1]    

    思路:

        使用一个HashMap来记录数组中元素的值和对应的下标。遍历数组的过程中,判断map中是否存在(target-数组元素值)的key,如果存在,则获得最终结果。

    java语言实现:

    public int[] twoSum(int[] nums, int target) {

        int [] result = new int[]{-1,-1};

        HashMap map = new HashMap<>();

        for(int i=0; i

            if(map.containsKey(target - nums[i])){

                result[0] = map.get(target - nums[i]);

                result[1] = i;

                return result;

        }

        map.put(nums[i],i);

    }

    return result;

    }

    相关文章

      网友评论

        本文标题:LeetCode算法第1题:两数之和

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