Leet Code 1.两数之和

时间:2019-11-13
本文章向大家介绍Leet Code 1.两数之和,主要包括Leet Code 1.两数之和使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
给定一个整数nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。
可以假设每种输入只会对应一个答案。但是,不能重复利用这个数组中同样的元素。

题解

提交代码

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

本题最简易方法:暴力法

  • 循环遍历两次,对于每个元素x遍历整个数组,判断是否存在target-x。

提交代码的思路:是用HashMap存储每个元素,每次存入元素的同时,判断是否存在target-x。

  • 两个方法不同之处是用空间换时间。
  • 熟悉了HashMap。

原文地址:https://www.cnblogs.com/chenshaowei/p/11850114.html