中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php和python怎么求解最大子序列和

發布時間:2021-08-17 14:49:21 來源:億速云 閱讀:137 作者:chen 欄目:開發技術

本篇內容主要講解“php和python怎么求解最大子序列和”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“php和python怎么求解最大子序列和”吧!

 算法是為求解一個問題需要遵循的、被清楚地指定的簡單的指令的集合。對于一個問題,一旦給定某種算法并且確定是正確的,那么重要的一步是確定該算法將需要多少諸如時間和空間的問題,也就是要分析該算法的時間復雜度和空間復雜度,時間復雜度低和空間復雜度低就代表該算法是好的,但我們要努力找到最優的算法。下面來看看最大子序列和問題的最優求解算法,用php實現了

function maxSubSum($arr) {
    $maxSum = $sum = $leftIndex = $rightIndex = 0;
    $flag   = false;
    foreach ($arr as $key=>$value) {
        $sum += $value;
        if ($sum > $maxSum) {
            $maxSum = $sum;
            if($flag) {
                $leftIndex = $key;
                $flag   = false;
            }
            $rightIndex = $key;
        }

        if($sum <0) {
            $sum = 0;
            $maxSum = 0;
            $flag = true;
        }
    }
    return array_slice($arr,$leftIndex,($rightIndex - $leftIndex)+1);
}

再來看看python實現

#!/usr/bin/python

def findMaxSubArray( inputList ):
    if ( len( inputList ) == 0 ):
        return inputList
    
    middle = len( inputList ) / 2
    leftSum,rightSum,crossingSum,tmpSum = 0,0,0,0
    leftIndex,rightIndex = 0,len(inputList)
    
    leftSum = sum(inputList[0:middle])
    rightSum = sum(inputList[middle+1:])
    tmpIndex = middle -1
    while ( tmpIndex >0):
        tmpSum +=inputList[tmpIndex]
        if(tmpSum > leftSum):
            leftIndex = tmpIndex
            break;
        tmpIndex = tmpIndex - 1

    tmpIndex = middle+1
    while (tmpIndex < len( inputList )):
        tmpSum += inputList[tmpIndex]
        if( tmpSum > rightSum ):
            rightIndex = tmpIndex
            break;
        tmpIndex = tmpIndex + 1
    return inputList[leftIndex:rightIndex]

if __name__ == '__main__':
    inputList = [-1,-2,-4,-8,-3,-10,-13,-56,-33,-2,-4,-45,-55,-12,-3]
    #inputList = [1,2,-4,8,4,0,-10,3,56,33,2,4,-45,55,0,-12,3]
    print findMaxSubArray ( inputList )

到此,相信大家對“php和python怎么求解最大子序列和”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

中山市| 新兴县| 丹巴县| 专栏| 桂林市| 许昌县| 友谊县| 永胜县| 萍乡市| 咸阳市| 灵宝市| 昌吉市| 星子县| 民县| 汉源县| 张家川| 平舆县| 香格里拉县| 西贡区| 临汾市| 察哈| 南宫市| 无锡市| 阿拉善左旗| 淄博市| 通河县| 达尔| 恩平市| 宁河县| 阿克苏市| 奇台县| 宁津县| 龙胜| 济阳县| 兴海县| 浦江县| 东兰县| 安平县| 铜鼓县| 渭南市| 日土县|