美文网首页
Java:LeetCode-两数之和

Java:LeetCode-两数之和

作者: yesski | 来源:发表于2018-12-05 23:04 被阅读0次

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

你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。

翻译了一下英文的

简单的思路就是遍历两遍数组,找到两个值相加, 很明显,这是n2的复杂度

另外一个简单的思路就是用空间换时间,由于告诉你不会重复, 不用set用hashmap就好了

key为值,value为下标。时间复杂度O(N)。

public static int[] twonumadd(int[] nums, int targetnum) {

int[] label = new int[2];

HashMap<Integer, Integer> hashMap = new HashMap<>();

for(int i=0;i<nums.length;i++) {

hashMap.put(nums[i], i);

}

for(int i=0;i<nums.length;i++) {

if(hashMap.containsKey(targetnum-nums[i])&&hashMap.get(targetnum-nums[i])!=i) {

label[0] = i;

label[1] = hashMap.get(target-nums[i]);

break;

}

}

return label;

}

相关文章

  • Java:LeetCode-两数之和

    给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只对应一种答案,且同样的元素不能被...

  • LeetCode-两数之和

    作为菜鸟,开始练习数据结构第二道题 两数之和题目描述给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你...

  • LeetCode-两数之和

    来年就要找工作了,刷刷lc复习数据结构和算法。两数之和是第一道题,可能也是最简单的一道题,我准备从这里开始记录我的...

  • LeetCode-两数之和

    题目: 题目链接给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整...

  • leetcode-两数之和

    给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] ...

  • leetcode-两数之和

    给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的...

  • LeetCode-两数之和

    题目链接 => 戳这里 题目描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目...

  • LeetCode-两数之和

    语言:python classSolution: deftwoSum(self,nums:List[int],ta...

  • leetcode-两数之和 python

  • Java 两数之和

    问题 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们...

网友评论

      本文标题:Java:LeetCode-两数之和

      本文链接:https://www.haomeiwen.com/subject/tqvgcqtx.html