成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

LeetCode.1 兩數(shù)之和(Two Sum)(JS)

Gu_Yan / 1943人閱讀

摘要:開坑,以后每周刷一兩道一題目兩數(shù)之和給定一個整數(shù)數(shù)組和一個目標值,請你在該數(shù)組中找出和為目標值的那兩個整數(shù),并返回他們的數(shù)組下標。但是,你不能重復利用這個數(shù)組中同樣的元素。

開坑,以后每周刷一兩道LeetCode
一、題目

兩數(shù)之和:

給定一個整數(shù)數(shù)組 nums 和一個目標值 target,請你在該數(shù)組中找出和為目標值的那 兩個 整數(shù),并返回他們的數(shù)組下標。
你可以假設每種輸入只會對應一個答案。但是,你不能重復利用這個數(shù)組中同樣的元素。

示例

給定 nums = [2, 7, 11, 15], target = 9
因為 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

二、優(yōu)秀答案
/**
 * @param {number[]} nums
 * @param {number} target
 * @return {number[]}
 */
var twoSum = function(nums, target) {
    const comp = {};
    for(let i=0; i=0){
            return [ comp[target - nums[i] ] , i]
        }
        comp[nums[i]] = i
    }
};

遍歷數(shù)組,定義一個對象,
對象屬性的key是順序遍歷中數(shù)組項的value,對象屬性的value是數(shù)組項的下標

comp[target-nums[i]] = i

一旦存在對象中target-nums[i]屬性的值(即數(shù)組項的下標)大于0,即存在數(shù)組中兩數(shù)之和等于target

if(comp[target - nums[i] ]>=0){
    return [ comp[target - nums[i] ] , i]
}

我還能說什么,map掌握得爐火純青。

三、我的答案

公開處刑現(xiàn)場

/**
 * @param {number[]} nums
 * @param {number} target
 * @return {number[]}
 */
var twoSum = function (nums, target) {
      function isEqualToTarget(num1, num2) {
        if (num1 + num2 === target) {
          return true
        } else {
          return false
        }
      }

      function findTargetItem(arr, oldArr) {
        for (let i = 0; i < arr.length - 1; i++) {
          for (let j = i + 1; j < arr.length; j++) {
            if (isEqualToTarget(arr[i], arr[j])) {
              return [oldArr.indexOf(arr[i]), oldArr.length - 1 - oldArr.reverse().indexOf(arr[j])]
            }
          }
        }
      }
      const oldArray = nums.slice(0)
      nums.sort((a, b) => a - b)
      let tailIndex = nums.findIndex((value, index) => {
        return value >= target - nums[0] && index !== 0
      })
      if (tailIndex === -1) { // [5, 7, 11, 12] 18
        return findTargetItem(nums, oldArray)
      } else if (isEqualToTarget(nums[0], nums[tailIndex])) {
        return [oldArray.indexOf(nums[0]), oldArray.length - 1 - oldArray.reverse().indexOf(nums[tailIndex])]
      } else {
        nums.length = tailIndex + 1
        return findTargetItem(nums, oldArray)
      }
    };

當時寫的主要想法依然是暴力遍歷,只不過做了一丁點兒優(yōu)化

nums.sort((a, b) => a - b)
let tailIndex = nums.findIndex((value, index) => {
    return value >= target - nums[0] && index !== 0
})

先從小到大排序,然后去掉與數(shù)組最小值相加大于target的值。
這個過程算優(yōu)化吧/捂臉

好歹戰(zhàn)勝70%多的提交記錄,還有繼續(xù)的勇氣

四、路漫漫其修遠兮

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://m.hztianpu.com/yun/102840.html

相關文章

  • Leetcode 1兩數(shù)之和

    摘要:給定一個整數(shù)數(shù)組和一個目標值,請你在該數(shù)組中找出和為目標值的那兩個整數(shù),并返回他們的數(shù)組下標。示例給定因為所以返回方法,暴力解法。函數(shù)可以將一個數(shù)組轉化為一個從開始,值為數(shù)組對應元素的字典。 給定一個整數(shù)數(shù)組 nums 和一個目標值 target,請你在該數(shù)組中找出和為目標值的那 兩個 整數(shù),并返回他們的數(shù)組下標。 你可以假設每種輸入只會對應一個答案。但是,你不能重復利用這個數(shù)組中...

    Taste 評論0 收藏0
  • LeetCode 167:兩數(shù)之和 II - 輸入有序數(shù)組 Two Sum II - Input a

    摘要:公眾號愛寫給定一個已按照升序排列的有序數(shù)組,找到兩個數(shù)使得它們相加之和等于目標數(shù)。函數(shù)應該返回這兩個下標值和,其中必須小于。示例輸入輸出解釋與之和等于目標數(shù)。 公眾號: 愛寫bug(ID:icodebugs) 給定一個已按照升序排列 的有序數(shù)組,找到兩個數(shù)使得它們相加之和等于目標數(shù)。 函數(shù)應該返回這兩個下標值 index1 和 index2,其中 index1 必須小于 index2。...

    張春雷 評論0 收藏0
  • LeetCode 167:兩數(shù)之和 II - 輸入有序數(shù)組 Two Sum II - Input a

    摘要:公眾號愛寫給定一個已按照升序排列的有序數(shù)組,找到兩個數(shù)使得它們相加之和等于目標數(shù)。函數(shù)應該返回這兩個下標值和,其中必須小于。示例輸入輸出解釋與之和等于目標數(shù)。 公眾號: 愛寫bug(ID:icodebugs) 給定一個已按照升序排列 的有序數(shù)組,找到兩個數(shù)使得它們相加之和等于目標數(shù)。 函數(shù)應該返回這兩個下標值 index1 和 index2,其中 index1 必須小于 index2。...

    Me_Kun 評論0 收藏0
  • 兩數(shù)之和問題各變種多解法小結

    摘要:兩數(shù)之和問題各變種多解法小結聲明文章均為本人技術筆記,轉載請注明出處兩數(shù)之和等于題目大意給出未排序數(shù)組和指定目標,返回數(shù)組中兩數(shù)之和的組合元素下標要求下標從開始,而且,保證題目中有且只有個可行解解法暴力時間復雜度求解解題思路暴力二重循環(huán)求解 兩數(shù)之和問題各變種多解法小結 聲明 文章均為本人技術筆記,轉載請注明出處:[1] https://segmentfault.com/u/yzwal...

    lentoo 評論0 收藏0
  • 6-9月技術文章匯總

    摘要:分布式的管理和當我在談論架構時我在談啥狀態(tài)碼詳解無狀態(tài)協(xié)議和請求支持哪些方法分層協(xié)議棧有哪些數(shù)據(jù)結構運用場景說說你常用的命令為什么要有包裝類面向對象的特征是啥是啥有什么好處系統(tǒng)設計工程在線診斷系統(tǒng)設計與實現(xiàn)索引背后的數(shù)據(jù)結構及算法原理軟技能 HTTP 【HTTP】分布式session的管理 【HTTP】Cookie和Session 【HTTP】當我在談論RestFul架構時我在談啥?...

    miya 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<