leetcode解题系列:Two Sum

来源:互联网 发布:python开发web应用 编辑:程序博客网 时间:2024/05/22 15:16

Question

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

answer

/** * 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]. * Created by pafer on 17-5-5. */public class Solution {    public static int[] twoSum(int[] nums, int target) {        Map<Integer, Integer> numMap =  new HashMap<Integer, Integer>();        for (int i = 0; i < nums.length; i++) {            Integer tmpIndex = numMap.get(target - nums[i]);            if (tmpIndex != null) {                return new int[]{tmpIndex, i};            }            numMap.put(nums[i], i);        }        return null;    }    public static void main(String[] args) {       int [] nums = {2, 7, 11, 15};        int[] ints = twoSum(nums, 17);        if (ints != null) {            System.out.println(ints[0] + " / " + ints[1]);        }    }}

href

https://leetcode.com/articles/two-sum/

1 0
原创粉丝点击