1. 程式人生 > >LeeCode中的maxProfit(PHP實現)

LeeCode中的maxProfit(PHP實現)

<?php
/**
 * Created by PhpStorm.
 * User: jiangyu01
 * Date: 2018/10/8
 * Time: 15:54
 * Title:給定一個數組,它的第 i 個元素是一支給定股票第 i 天的價格。
 * 如果你最多隻允許完成一筆交易(即買入和賣出一支股票),設計一個演算法來計算你所能獲取的最大利潤。
 * 注意你不能在買入股票前賣出股票。
 */

$prices = [7,1,5,3,1,6,4];
$prices = [7,6,4,3,1];
function maxProfit(array $prices){
    $res = '';
    $size = count($prices);
    if ($size < 2){
        $res = '陣列內元素不能小於2個';
        GOTO END;
    }
    $arr = [];
    $max = 0;
    for ($i = 0; $i < $size-1; $i++){
        for ($j= $i+1; $j < $size-1; $j++){
            $price = $prices[$j] - $prices[$i];
            if ($price > 0) {
                 $max = $max < $price ? $price : $max;
                }
        }
    }
    if (is_numeric($max)){
        $res = '最大利潤為:'.$max;
    }
    END:
    var_dump($res);
}

maxProfit($prices);