算法-找出數組中兩個元素之和等於給定的目標值


問題描述:

  1. 給定一個數組$arr,一個目標值$target
  2. 在$arr中查找出兩個元素其值相加等於$target
  3. 並返回這兩個元素的下標

問題示例:

  1. $arr = [2, 7, 11, 15], $target = 9
  2. nums[0] =2,nums[1] =7
  3. return [0, 1]

 

 

來吧,老弟,先在你的腦海中構思一下你的思路,How to solve? 下面是個人給出的思路介紹,方法比較暴力,僅供參考

思路引導

首先題目並沒有說找出所有符合兩個元素相加等於$target的要求,這對於我們這個題來說難度降低了很多(能力強的同學也可以試一試,就是將符合要求的元素下標放到一個數組中,最后統一返回)。

大致思路

首先我們嵌套兩層循環,外層循環主要是用來取出一個元素作為定值,每次與其他元素的值(除本身以外的值)進行相加,然后與$target比對,當一個定值與元素內的元素相加后與$target對比,然后外層循環在取出數組中下一個元素作為定值,然后再與其他元素的值相加與$target對比,以此類推 
說到這里,都是黑乎乎的文字?是不是不喜歡看文字?人家都強調有圖有真相,當然,咱們也把圖安排上,來,看下面,它來了...


圖也有了,關鍵的代碼就要安排上了,下面來一起看一下代碼

function twoSum($nums,$target){
    for ($i=count($nums)-1;$i>=0;$i--){
        for ($j=0;$j<$i;$j++){
            if($nums[$i]+$nums[$j]==$target){
                return [$j,$i];
            }
        }
    }
    return [];
}

  

備注:好了,今天的文章就分享到這里,個人理解有限,不足的地方歡迎大家留言指正!

我是你們的朋友-五哥!


免責聲明!

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



猜您在找 2020-07-18:給定一個無序數組和一個目標值,找出數組中兩個數之和等於目標值的所有組合,並指出其時間復雜度。 算法題一(給定一個整數數組和一個目標值,請你在該數組中找出和為目標值的那兩個整數的索引) php 獲取兩個給定一個整數數組 nums 和一個目標值 target,請你在該數組中找出和為目標值的那 兩個 整數,並返回他們的數組下標。 給定一個整數數組 nums 和一個整數目標值 target,請你在該數組中找出 和為目標值 target  的那 兩個 整數,並返回它們的數組下標。 刷題之給定一個整數數組 nums 和一個目標值 taget,請你在該數組中找出和為目標值的那 兩個 整數 給定一個整數數組和一個目標值,找出數組中和為目標值的兩個數 例如給定nums = [2,7,11,15],target = 9 給出一個數組和一個目標值,如果數組中任意兩個數字的加和等於目標值,輸出這兩個位置 js 數組中尋找兩個值相加等於目標值, 三個值相加等於目標值 給定一個整數數組 nums 和一個目標值 k,請實現一個方法判斷 nums 中是否存在某個片段(即若干個相連元素)之和等於 k。要求時間復雜度為 O(n)。 最接近的三數之和(給定一個包括 n 個整數的數組 nums 和 一個目標值 target。找出 nums 中的三個整數, 使得它們的和與 target 最接近。返回這三個數的和)
 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM