/**
  * 
  * @param numbers int整型一维数组 
  * @param target int整型 
  * @return int整型一维数组
  */
function twoSum( numbers ,  target ) {
    // write code here
    for(let i=0; i<numbers.length; i++) {
        let n1 = numbers[i]
        if (n1 > target) continue;
        let n2 = target - n1
        let j = numbers.lastIndexOf(n2)
        if (numbers.includes(n2) && j > 0 && j !== i) {
            return [i+1, j+1]
        }
    }
}
module.exports = {
    twoSum : twoSum
};

主要在于否定:

  1. 一旦发现大于target,直接continue
  2. 一旦找到答案,直接return,结束循环