• 129129

    文章

  • 809

    评论

  • 12

    友链

  • 最近新加了换肤功能,大家多来逛逛吧~~~~
  • 喜欢这个网站的朋友可以加一下QQ群,我们一起交流技术。

在给定数组中找出和为目标值的那两个整数,并返回他们的数组下标

服了这份高薪指南,涨多少你说了算>>

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

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

class Solution{

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

        for(int i=0; i<nums.length; i++){

                for(int j=i+1; j<nums.length; j++){

                        if(nums[j] == target - nums[i]){

                                    return new int[]{i,j};

                        }

                }

        }

        throw new illegalArgumentException("No two sum solution");

    }
}

class Solution{

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

            Map<Integer,Integer> map = new HashMap<>();

            for(int i=0;i<nums.length;i++){

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

            }

            for(int i=0;i<nums.length;i++){

                    int complement = target - nums[i];

                    if(map.containsKey(complement) && map.get(complement)!=i){

                            return new int[] {i,map.get(complement)};

                    }

            }

            throw new illegalArgumentException("No two sum solution");

    }

}

 

class Solution{

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

                Map<Integer, Integer> map = new HashMap<>();

                for(int i=0; i<nums.length; i++){

                        int complement = target -nums[i];

                        if(map.containsKey(complement)){

                                return new int[]{map.get(complement),i};

                        }

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

                }

                throw new illegalArgumentException("No two sum solution");

        }

}


695856371Web网页设计师②群 | 喜欢本站的朋友可以收藏本站,或者加入我们大家一起来交流技术!

0条评论

Loading...


发表评论

电子邮件地址不会被公开。 必填项已用*标注

自定义皮肤 主体内容背景
打开支付宝扫码付款购买视频教程
遇到问题联系客服QQ:419400980
注册梁钟霖个人博客