1. Two Sum

来源:互联网 发布:照片解密软件 编辑:程序博客网 时间:2024/04/28 23:56

Given an array of integers, return indices of the two numbers such that they add up to a specific target.

You may assume that each input would have exactly one solution.

Example:

Given nums = [2, 7, 11, 15], target = 9,Because nums[0] + nums[1] = 2 + 7 = 9,return [0, 1].

UPDATE (2016/2/13):

The return format had been changed to zero-based indices. Please read the above updated description carefully.


public class Solution {    public int[] twoSum(int[] nums, int target) {        if(nums ==  null || nums.length == 0){            return null;        }        HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();        int[] res = new int[2];        int number1 = 0;        int number2 = 0;        for(int i=0; i<nums.length; i++){            if(map.containsKey(target - nums[i])){                res[0] = i;                res[1] = map.get(target - nums[i]);                if(res[0] == res[1]){ //确保不会取到同一个元素                    continue;                }else{                    break;                }            }            map.put(nums[i], i);        }        return res;    }}


0 0