码迷,mamicode.com
首页 > 编程语言 > 详细

Javascript已经排好序的数组,如何能快速找出a+b=8的所有组合的下标

时间:2019-03-01 15:42:51      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:UNC   twosum   code   ons   get   数组   rip   时间   ++   

使用哈希表实现,可以降时间复杂度降到O(n)


 1     function twoSum(arr, target) {
 2         let mapObj = {}
 3         let result = []
 4         arr.forEach((v, i) => mapObj[v] = i)
 5         for (let i =0 ; i < arr.length; i++) {
 6           let j = mapObj[target - arr[i]]
 7           if (j && j > i) {
 8             result.push([i, j])
 9           }
10         }
11         return result
12       }
13       let arr =  [1, 3, 5, 7, 9, 10]
14       console.log(twoSum(arr, 8))

 

 

 

Javascript已经排好序的数组,如何能快速找出a+b=8的所有组合的下标

标签:UNC   twosum   code   ons   get   数组   rip   时间   ++   

原文地址:https://www.cnblogs.com/codejoker/p/10456550.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!