欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

求子數(shù)組最大和的實(shí)例代碼

 更新時間:2013年03月27日 20:59:25   作者:  
求子數(shù)組最大和的實(shí)例代碼,需要的朋友可以參考一下

題目:
輸入一個整形數(shù)組,數(shù)組里有正數(shù)也有負(fù)數(shù)。
數(shù)組中連續(xù)的一個或多個整數(shù)組成一個子數(shù)組,每個子數(shù)組都有一個和。
求所有子數(shù)組的和的最大值。要求時間復(fù)雜度為O(n)。

例如輸入的數(shù)組為1, -2, 3, 10, -4, 7, 2, -5,和最大的子數(shù)組為3, 10, -4, 7, 2,
因此輸出為該子數(shù)組的和18。

找到狀態(tài)轉(zhuǎn)移方程,dp[i]表示前i個數(shù)中,包含i的子數(shù)組的最大和。要么第i個數(shù)自己最大,要么他要和包含i-1的子數(shù)組最大和(即dp[i-1])聯(lián)合在一起.
即dp[i] = max{arr[i],dp[i-1]+arr[i]};

代碼如下;

復(fù)制代碼 代碼如下:

#include <stdio.h>
#define max(a,b) (a)>(b)?(a):(b)

int res(int* arr, int len){
    //學(xué)到一個定義最小數(shù)的方法:)
    int max = -(1<<31);
    int i;
    for(i=1;i<len;i++){
        arr[i] = max(arr[i],arr[i-1]+arr[i]);
        if(max < arr[i]) max = arr[i];
    }
    return max;
}

int main(){
    int arr[] = {1,-2,3,10,-4,7,2,-5};
    printf("%d\n",res(arr,8));
    return 0;
}

相關(guān)文章

  • C++?Qt開發(fā)之使用QNetworkAccessManager實(shí)現(xiàn)Web網(wǎng)頁訪問

    C++?Qt開發(fā)之使用QNetworkAccessManager實(shí)現(xiàn)Web網(wǎng)頁訪問

    Qt?是一個跨平臺C++圖形界面開發(fā)庫,利用Qt可以快速開發(fā)跨平臺窗體應(yīng)用程序,本文主要介紹了如何運(yùn)用QNetworkAccessManager組件實(shí)現(xiàn)Web網(wǎng)頁訪問,需要的可以參考下
    2024-03-03
  • C++快速排序及優(yōu)化方案詳解

    C++快速排序及優(yōu)化方案詳解

    這篇文章主要介紹了C++快速排序及優(yōu)化方案詳解,快速排序是一種常用的排序算法,它通過選擇一個基準(zhǔn)元素,將數(shù)組分成兩個子數(shù)組,其中一個子數(shù)組的所有元素都小于基準(zhǔn)元素,另一個子數(shù)組的所有元素都大于基準(zhǔn)元素,需要的朋友可以參考下
    2023-10-10
  • C++ 兩個vector對象拼接方式

    C++ 兩個vector對象拼接方式

    這篇文章主要介紹了C++ 兩個vector對象拼接方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • C語言實(shí)現(xiàn)賓館管理系統(tǒng)課程設(shè)計(jì)

    C語言實(shí)現(xiàn)賓館管理系統(tǒng)課程設(shè)計(jì)

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)賓館管理系統(tǒng)課程設(shè)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • C++優(yōu)先級隊(duì)列的使用指南與模擬實(shí)現(xiàn)

    C++優(yōu)先級隊(duì)列的使用指南與模擬實(shí)現(xiàn)

    優(yōu)先級隊(duì)列是一種特殊的隊(duì)列,其中每個元素都有一個與之關(guān)聯(lián)的優(yōu)先級,優(yōu)先級較高的元素會在隊(duì)列中較早地被處理,而優(yōu)先級較低的元素會在后續(xù)處理,本文給大家介紹C++優(yōu)先級隊(duì)列的使用指南與模擬實(shí)現(xiàn),需要的朋友可以參考下
    2023-09-09
  • OpenCV實(shí)現(xiàn)圖像校正功能

    OpenCV實(shí)現(xiàn)圖像校正功能

    這篇文章主要為大家詳細(xì)介紹了OpenCV實(shí)現(xiàn)圖像校正功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • C語言中的sscanf()函數(shù)使用詳解

    C語言中的sscanf()函數(shù)使用詳解

    這篇文章主要介紹了C語言中的sscanf()函數(shù)使用詳解,文中附加了一道相關(guān)的ACM題目進(jìn)行補(bǔ)充鞏固,需要的朋友可以參考下
    2015-08-08
  • 一文讓你徹底明白C++中的const

    一文讓你徹底明白C++中的const

    這篇文章主要給大家介紹了關(guān)于C++中const的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Windows下VScode實(shí)現(xiàn)簡單回聲服務(wù)的方法

    Windows下VScode實(shí)現(xiàn)簡單回聲服務(wù)的方法

    回聲服務(wù)端可以將客戶端傳來的信息,再原封不動地發(fā)送給客戶端,因而得名 epoch 服務(wù)。接下來通過本文給大家介紹Windows下VScode實(shí)現(xiàn)簡單回聲服務(wù)的方法,感興趣的朋友一起看看吧
    2021-08-08
  • 詳解C#byte數(shù)組怎么傳入C

    詳解C#byte數(shù)組怎么傳入C

    在本篇內(nèi)容里小編給大家整理了關(guān)于C#byte數(shù)組怎么傳入C的相關(guān)知識點(diǎn)內(nèi)容,有興趣的朋友們學(xué)習(xí)參考下。
    2019-03-03

最新評論