• 1. two Sum


    1. Two Sum

    Given an array of integers, return indices of the two numbers such that they add up to a specific target.

    You may assume that each input would have exactly one solution, and you may not use the same element twice.

    Example:

    Given nums = [2, 7, 11, 15], target = 9,
    
    Because nums[0] + nums[1] = 2 + 7 = 9,
    return [0, 1].
    
     1 /**
     2  * @param {number[]} nums
     3  * @param {number} target
     4  * @return {number[]}
     5  */
     6 var twoSum = function(nums, target) {
     7      var hash = {},len = nums.length;
     8     
     9     //其实这里是有重复的值可能性的,比如[3,3],那第二个会覆盖第一个
    10     for(var i = 0;i < len;i++){
    11         
    12         hash[nums[i]] = i;
    13     }
    14     
    15     
    16     //由于题目说过有且只有一组解,所以上面覆盖也没关系,因为我们只找后面一个可行解。
    17     for(var j = 0;j < len;j++){
    18         if(hash[target - nums[j]]){
    19             return [j,hash[target - nums[j]]];
    20         }
    21     }
    22 };
     1 /**
     2  * @param {number[]} nums
     3  * @param {number} target
     4  * @return {number[]}
     5  */
     6 var twoSum = function(nums, target) {
     7   
     8     //双指针,思路就是先排序,两边向中间靠拢
     9     var old = nums.slice(),
    10         len = old.length,
    11         i = 0,
    12         j = len -1;
    13     nums.sort();
    14     while(i<len&&j > -1){
    15         
    16         var temp = nums[i] + nums[j];
    17         if(temp === target){
    18             var fir = old.indexOf(nums[i]);
    19             //这里要防止重复[3,3]求6
    20             
    21             var sec = old.lastIndexOf(nums[j])
    22             return [fir,sec];
    23         }
    24         
    25         if(temp < target){
    26             i++;
    27         }else{
    28             j--;
    29         }
    30     }
    31     
    32 };
     
  • 相关阅读:
    模块介绍
    homebrew 更改镜像,进行成功安装
    必须要会的 50 个 React 面试题
    聚合
    mongodb高级聚合查询
    一款好用 mongodb 可视化工具
    在Mac上安装MongoDB,配置全局路径
    深入Vue2.x的虚拟DOM diff原理
    H5在WebView上开发小结
    接口文档RAP2 环境搭建(正常搭建成功)
  • 原文地址:https://www.cnblogs.com/huenchao/p/7629949.html
Copyright © 2020-2023  润新知