码迷,mamicode.com
首页 > 其他好文 > 详细

1. Two Sum

时间:2016-04-30 07:48:36      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:

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].

public class Solution {
    public int[] twoSum(int[] nums, int target) {
        int[] result = new int[2];
        int key;
        HashMap<Integer, Integer> hashMap = new HashMap<Integer, Integer>(); //constructor of hashmap
        for(int i = 0; i < nums.length; i++){ //traverse array
            hashMap.put(nums[i], i); //insert hashmap
        }
        
        for(int i = 0; i < nums.length; i++){
            key = target-nums[i];
            if(hashMap.containsKey(key)
              && hashMap.get(key)!=i){//cannot be itself
                result[0] = i;
                result[1] = hashMap.get(key); //hashmap get value
                break;
            }
        }
        return result;
    }
}

 

1. Two Sum

标签:

原文地址:http://www.cnblogs.com/qionglouyuyu/p/5448060.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!