題1:給定一個整數數組和一個目標值,找出數組中和為目標值的兩個數


  渣渣一個,只能從最基礎開始做,但是會記錄每個題的思路和過程,從之前能找到的到以后,慢慢記錄

題目1:

給定一個整數數組和一個目標值,找出數組中和為目標值的兩個數。你可以假設每個輸入只對應一種答案,且同樣的元素不能被重復利用。

nums = [2, 7, 11, 15], target = 9  要求得到   [0, 1]

 

  我的想法是類似將第一個數字固定,然后去依次比較之后的數字,把符合要求的添加到一個空數組當中,最后返回
 1 function getSum(nums, target) {
 2    var newArr = [];
 3    for (var i = 0; i < nums.length; i++) {
 4      for (var j = i + 1; j < nums.length; j++) {
 5        console.log(i);
          if (target === nums[i] + nums[j]) {
 7          newArr.push(i, j);
 8        }
 9      }
10    }
11    return newArr;
12  }

  這個能夠滿足題意,不過沒有考慮性能方面的問題, 我比較在意的是在數組比較長的情況下,只顯示索引會顯得不夠明顯,所以我稍微改了一下,用二維數組的方式直觀的顯示對應的元素本身

 1 function getSum(nums, target) {
 2   var newArr = [];
 3   for (var i = 0; i < nums.length; i++) {
 4     for (var j = i + 1; j < nums.length; j++) {
 5       if (target === nums[i] + nums[j]) {
 6         newArr.push([nums[i], nums[j]]);
 7       }
 8     }
 9   }
10   return newArr;
11 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM