leetcode1 Two Sum

2020-05-27  本文已影响0人  叫我坤坤

题目

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

思路

盲猜N^2的遍历会超时,没有试。O(N)的遍历需要用到哈希表,直接用map存值和对应的下标,一次遍历即可。

代码

    // by java
    public int[] twoSum(int[] nums, int target) {
        Map<Integer, Integer> value2index = new HashMap<Integer, Integer>();
        for (int i = 0; i < nums.length; i ++) {
            if (value2index.get(target - nums[i]) != null) {
                int [] ret = {value2index.get(target - nums[i]), i};
                return ret;
            }
            value2index.put(nums[i], i);
        }
        return null;
    }
上一篇 下一篇

猜你喜欢

热点阅读