随心写

2020-07-24  本文已影响0人  Clover园
const arr = [1,5,2,4,12,9,62,23,56,61,58,50,8]
  const target = 62
  const twoSum = (arr,target)=>{
    arr = arr.sort((a,b)=>a-b)
    let left = 0
    let right = arr.length-1
    let sumArr = []
     while(left<right){
       if(arr[right]>target){
        right--
        continue
       }
       if(arr[left]>target){
        left++
        continue
       }
       let sum = arr[left] + arr[right]
       if(sum>target){
        right--
       }else if( sum<target){
          left++
       }else{
        sumArr.push([arr[right],arr[left]]) 
        left++
       }
     }
     return sumArr
  }
  console.log(twoSum(arr,target))
//0: (2) [61, 1]
//1: (2) [58, 4]
//2: (2) [50, 12]

上一篇 下一篇

猜你喜欢

热点阅读