• 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 };
     
  • 相关阅读:
    单文档程序结构
    如何从一个对话框弹出单文档视图
    MFC 窗口居中显示 VS2010
    在单文档中显示我的第一个对话框
    在MFC中添加用户自定义消息
    MFC动态创建控件及添加消息响应
    MFC的DLL
    MFC多线程
    MFC的UDP编程实现
    MFC下CSocket编程详解
  • 原文地址:https://www.cnblogs.com/huenchao/p/7629949.html
Copyright © 2020-2023  润新知