最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2013年03月27日 20:59:25   作者:  
求子數(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語言連續(xù)子向量的最大和及時間度量實例

    C語言連續(xù)子向量的最大和及時間度量實例

    這篇文章主要介紹了C語言連續(xù)子向量的最大和及時間度量,需要的朋友可以參考下
    2014-09-09
  • Qt實現(xiàn)無邊框窗口的示例代碼

    Qt實現(xiàn)無邊框窗口的示例代碼

    本文主要介紹了Qt實現(xiàn)無邊框窗口的示例代碼,主要包括鼠標(biāo)光標(biāo)在不同區(qū)域的變化,關(guān)閉拖動窗口,窗口支持任意拉伸等,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • C語言行優(yōu)先和列優(yōu)先的問題深入分析

    C語言行優(yōu)先和列優(yōu)先的問題深入分析

    這篇文章主要介紹了C語言行優(yōu)先和列優(yōu)先的問題深入分析的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • C語言中條件編譯詳解

    C語言中條件編譯詳解

    預(yù)處理程序提供了條件編譯的功能??梢园床煌臈l件去編譯不同的程序部分,因而產(chǎn)生不同的目標(biāo)代碼文件。這對于程序的移植和調(diào)試是很有用的。條件編譯有三種形式,下面分別介紹。
    2017-05-05
  • C++對象內(nèi)存分布詳解(包括字節(jié)對齊和虛函數(shù)表)

    C++對象內(nèi)存分布詳解(包括字節(jié)對齊和虛函數(shù)表)

    下面小編就為大家?guī)硪黄狢++對象內(nèi)存分布詳解(包括字節(jié)對齊和虛函數(shù)表)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • C語言實現(xiàn)求最大公約數(shù)的三種方法

    C語言實現(xiàn)求最大公約數(shù)的三種方法

    最大公因數(shù),也稱最大公約數(shù)、最大公因子,指兩個或多個整數(shù)共有約數(shù)中最大的一個。本文將為大家介紹三種方法來實現(xiàn)求解兩個正整數(shù)的最大公約數(shù),需要的可以參考一下
    2021-12-12
  • C語言詳細(xì)講解注釋符號的使用

    C語言詳細(xì)講解注釋符號的使用

    C語言的注釋符是以“/*”開頭并以“*/”結(jié)尾的串。在“/*”和“*/”之間的即為注釋。程序編譯時,不對注釋作任何處理。注釋可出現(xiàn)在程序中的任何位置。注釋用來向用戶提示或解釋程序的意義。在調(diào)試程序中對暫不使用的語句也可用注釋符括起來,使翻譯跳過不作處理
    2022-04-04
  • C++算法計時器的實現(xiàn)示例

    C++算法計時器的實現(xiàn)示例

    本文主要介紹了C++算法計時器的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • C語言strcat函數(shù)詳解:字符串追加的利器

    C語言strcat函數(shù)詳解:字符串追加的利器

    strcat函數(shù)用于將源字符串追加到目標(biāo)字符串的末尾,并返回一個指向目標(biāo)字符串的指針,它可以實現(xiàn)字符串的拼接操作
    2024-08-08
  • VS2010/MFC編程(常用控件:樹形控件Tree Control控件創(chuàng)建h和實例)

    VS2010/MFC編程(常用控件:樹形控件Tree Control控件創(chuàng)建h和實例)

    本篇文章介紹了VS2010/MFC編程:常用控件:樹形控件Tree Control,包括樹形控件的創(chuàng)建、CTreeCtrl類的主要成員函數(shù)和應(yīng)用實例有興趣的可以了解一下。
    2016-12-12

最新評論

平昌县| 桦川县| 忻州市| 区。| 互助| 肥西县| 盖州市| 富裕县| 怀柔区| 遂昌县| 醴陵市| 兴义市| 安平县| 宝应县| 沁水县| 台山市| 广东省| 神池县| 望江县| 东源县| 南昌市| 威信县| 毕节市| 方正县| 衢州市| 随州市| 中江县| 桑植县| 无锡市| 六安市| 托克逊县| 黎川县| 新乡县| 哈密市| 新疆| 博爱县| 连平县| 阜康市| 名山县| 合山市| 姚安县|