美文网首页
001,Two Sum(求两数的和)

001,Two Sum(求两数的和)

作者: 丹之 | 来源:发表于2018-10-08 08:26 被阅读0次

给定一个整形数组和一个整数target,返回2个元素的下标,它们满足相加的和为target。
你可以假定每个输入,都会恰好有一个满足条件的返回结果。

public class Solution {
    public int[] twoSum(int[] nums, int target) {
        Map<Integer,Integer> map = new HashMap<>();
        for(int i=0;i<nums.length;i++){
            Integer index=map.get(target-nums[i]);
            if(index==null){
                map.put(nums[i],i);
            }else{
                return new int[]{i,index};
            }
        }
        return new int[]{0,0};
    }
}

个人理解:引入HashMap,key为数组的值,value为对应的索引,以空间换时间,并且HashMap的索引速度比较快。

相关文章

网友评论

      本文标题:001,Two Sum(求两数的和)

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