美文网首页程序员
Leetcode1. 两数之和

Leetcode1. 两数之和

作者: TPEngineer | 来源:发表于2018-07-25 13:02 被阅读46次

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

示例:

给定 nums = [2, 7, 11, 15], target = 9

因为 nums[0] + nums[1] = 2 + 7 = 9

所以返回 [0, 1]

哈希表性能优秀,但我不知道为什么put后再检查答案变得很奇怪

比如测试用例 twoSum([3,3],6)

返回的居然是[1,1]

恳求指点迷津

相关文章

  • Leetcode1. 两数之和

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

  • leetcode1.两数之和

    题目链接 解法一: 暴力求解 暴力求解的思路很简单,依次遍历数组的每个数,看这个数字和除了这个数字之外的其他数字的...

  • LeetCode1.两数之和题解

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

  • LeetCode1.两数之和JavaScript

    LeetCode1.两数之和JavaScript 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可...

  • LeetCode1. 两数之和(Swift)

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

  • leetcode1.两数之和(go实现)

    普通写法 速度为36ms 优化写法,用go的map实现,用哈希表会快很多

  • 两数之和(golang)

    原题:两数之和 关联:两数之和 II - 输入有序数组(golang)两数之和 IV - 输入 BST(golang)

  • 两数之和 II - 输入有序数组(golang)

    原题:两数之和 II - 输入有序数组 关联:两数之和(golang)两数之和 IV - 输入 BST(golan...

  • 浅入浅出实现一个异步求和函数

    简化:两数之和 我们先来简单的实现一个异步两数之和函数 加深:多数之和 上面我们实现了两数之和,然后扩展到多数之和...

  • 两数之和,三数之和

    转载:https://www.cnblogs.com/DarrenChan/p/8871495.html 1. 两...

网友评论

  • 癫狂侠:顺便附上我自己的代码(仅供参考~):
    public int[] twoSum(int[] array,int targetValue){

    HashMap<Integer,Integer> orignalMap = new HashMap<>();
    int[] restIndex = new int[2];

    //step1.initial the hashmap by using array value,index as key and value
    for(int i = 0; i < array.length;i++){
    orignalMap.put(array[i],i);
    }

    //step2.find the two value by hashmap data
    for(int j = 0;j< array.length;j++){
    int gap = targetValue - array[j];

    Integer value = null;
    if((value = orignalMap.get(Integer.valueOf(gap))) != null){
    restIndex[0] = j + 1;
    restIndex[1] = value + 1;
    break;
    }
    }

    return restIndex;
    }
  • 癫狂侠:思路没有问题,借助数据结构本身的一些特点——HashMap本身的特点,以该数组的值为该Map的key,index为Map的值;通过一次遍历数组得出所求两个值的index;时间复杂度为O(n),空间复杂度也为O(n)

本文标题:Leetcode1. 两数之和

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