亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP: AdjacentElementsProduct - CodeFights

PHP: AdjacentElementsProduct - CodeFights

PHP
青春有我 2021-11-05 14:46:24
題:給定一個整數數組,找到具有最大乘積的相鄰元素對并返回該乘積。例子:https://app.codesignal.com/arcade/intro/level-2對于 inputArray = [3, 6, -2, -5, 7, 3],輸出應為 nextElementsProduct(inputArray) = 21。7 和 3 生產最大的產品。輸入輸出輸入: inputArray: [3, 6, -2, -5, 7, 3]預期輸出:21解決方案:我的代碼不起作用:function adjacentElementsProduct($inputArray) {    $total = 0;    $temp = 0;    $maxProduct = 0;    $var = 0;    if ($inputArray.count == 1) return 0;    for ($i = 0; $i < $inputArray[$inputArray.count-1]; $i++) {        if ($inputArray[i] + $inputArray[i+1] > $maxProduct) {            $maxProduct = $inputArray[i] * $inputArray[i+1];            }    }    return $maxProduct;}
查看完整描述

3 回答

?
牛魔王的故事

TA貢獻1830條經驗 獲得超3個贊

與任何編程任務一樣,訣竅是一點一點地解決它。當您將問題分解為小組件時,您往往會發現您的代碼更具可讀性。


你需要:


查找數組中相鄰元素的乘積

找到該組值中最大的產品

您可以在沒有大量變量、嵌套等的情況下解決此問題。


function adjacentElementsProduct(array $inputs) {

    $products = [];


    for ($i = 1; $i < count($inputs); $i++) {

        $products[] = $inputs[$i - 1] * $inputs[$i];

    }


    return max($products);

}

我們所做的只是循環輸入數組,從第二個元素開始。計算前一個元素和當前元素的乘積,然后將結果放入一個乘積數組中。最后,我們運行它將max()為我們找到最大值。


重要的是要注意:這里沒有進行驗證。你能相信你的數組永遠只包含數值嗎?它總是至少包含兩個元素嗎?如果不是,你會想要考慮到這一點。


查看完整回答
反對 回復 2021-11-05
?
當年話下

TA貢獻1890條經驗 獲得超9個贊

這是我將如何做到的


$inputArray =  [3, 6, -2, -5, 7, 3];


function adjacentElementsProduct($inputArray) {

   $max = 0;

   for($i = 0; $i < (sizeof($inputArray) - 1); $i++){

       $b = $i+1;

       if($inputArray[$i] > 0 && $inputArray[$b] > 0){

           $max = (($inputArray[$i] * $inputArray[$b]) > $max) ? ($inputArray[$i] * $inputArray[$b]) : $max;

       }

   }


   return $max;

}


echo adjacentElementsProduct($inputArray); // Outputs 21


查看完整回答
反對 回復 2021-11-05
?
慕森王

TA貢獻1777條經驗 獲得超3個贊

function adjacentElementsProduct($inputArray) {

    $res = [];

    

    for($j=0;$j<count($inputArray);$j++){

        $res[] = $inputArray[$j]*$inputArray[$j+1];

    }

    return (max($res) < 0) ? 0 : max($res);

}


查看完整回答
反對 回復 2021-11-05
  • 3 回答
  • 0 關注
  • 174 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號