leetcode

来源:互联网 发布:软件书生商务网 编辑:程序博客网 时间:2024/06/05 17:46

leetcode
Two Sum

考虑当前元素的补数 target-current
利用hashmap 节省查找时间,且边放map,边检查补数是否存在,可以防止重复使用同一元素。

代码

    /**     * 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.     * 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];        Map<Integer, Integer> map = new HashMap<Integer, Integer>();        for (int i = 0; i < nums.length; i++) {            if (map.containsKey(target - nums[i])) {                result[1] = i;                result[0] = map.get(target - nums[i]);                return result;            }            map.put(nums[i], i);        }        return result;    }}
原创粉丝点击