1. Two Sum

2018-07-03  本文已影响0人  bin_guo

Leetcode: 1. Two Sum
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, and you may not use the same element twice.

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

looping numbers, if number not inside of map, then put it to map, if it is existing in map, then get the index of the loop, and get the index of it from map

Solution:
public int[] twoSum(int[] nums, int target) {
    Map<Integer, Integer> map = new HashMap<>();
    for (int i = 0; i < nums.length; i++){
        int b = target - nums[i];
        if(map.containsKey(b)) 
            return new int[] {i,map.get(b)};
        else map.put(nums[i],i);
    }
    throw new IllegalArgumentException("No solution!");
}

Referenced from
Author: LittleSasuke
Link: https://www.jianshu.com/p/779d43179739

上一篇下一篇

猜你喜欢

热点阅读