1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 【力扣】两数之和(看似简单 实则暗藏玄机)

【力扣】两数之和(看似简单 实则暗藏玄机)

时间:2018-07-11 00:02:30

相关推荐

【力扣】两数之和(看似简单 实则暗藏玄机)

题意

给定一个数组和一个目标值,找出数组中和为目标值的两个数的下标。

思路

直接暴力利用哈希表键值一一对应的特点:将数组的值和下标存入哈希表,仅需一趟遍历,使用hashMap.containsKey即可根据自己的键找出另一半的值是否包含在数组中。

代码

class solution{public int [] twoSum(int[] nums, int target){int len = nums.length;HashMap<Integer, Integer> hashMap = new HashMap<>(len - 1);hashMap.put(nums[0], 0);for(int i = 0; i < len; i++){int another = target - nums[i];if(hashMap.containsKey(another)){return new int[]{i, hashMap.get(another)};}hashMap.put(nums[i], i);}throw new IllegalArgumentException("no answer!");}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。