zoukankan      html  css  js  c++  java
  • two-sum

      可能进不了大厂,但是还是要努力。

      目前刷题主要是解决题目,关于复杂度的考量,emmm,下次一定。先做最简单的。。。。

    题目描述

    给出一个整数数组,请在数组中找出两个加起来等于目标值的数,
    你给出的函数twoSum 需要返回这两个数字的下标(index1,index2),需要满足 index1 小于index2.。注意:下标是从1开始的
    假设给出的数组中只存在唯一解
    例如:

    给出的数组为 {2, 7, 11, 15},目标值为9
    输出 ndex1=1, index2=2

    输入:
    [3,2,4],6
    输出:

    [2,3]

    方法一:暴力破解,两次循环查询

    function twoSum( numbers , target ) {
    // write code here
    for (var i = 0; i < numbers.length; i++) {
    for (var j = i + 1; j < numbers.length; j++) {
    if (numbers[i] + numbers[j] === target) {
    return console.log([i+1, j+1]);
    }
    }
    }
    }
    module.exports = {
    twoSum:twoSum
    };

    方法二:哈希表查询

    var twoSum = function(nums, target) {
    var hash={};
    for(var i= 0;i<nums.length;i++){
    var l = nums[i];
    var j = hash[target-l];
    if(j!=undefined){
    return[j,i]
    }
    hash[l] = i;
    }
    };

  • 相关阅读:
    (2015年郑州轻工业学院ACM校赛题) B迷宫
    (2015年郑州轻工业学院ACM校赛题) A 彩票
    POJ 1861 Network
    动态逆序对
    K大数查询
    Dynamic Rankings
    Cleaning
    Boxes
    P3601 签到题
    How many integers can you find
  • 原文地址:https://www.cnblogs.com/zhangjiabing/p/13221131.html
Copyright © 2011-2022 走看看