最大の連続サブシーケンスを見つけるために、パーティションをマージ

免責事項:この記事はブロガーオリジナル記事です、続くBY-SAのCC 4.0を著作権契約、複製、元のソースのリンクと、この文を添付してください。
このリンク: https://blog.csdn.net/qq_39063526/article/details/78152443
書式#include <stdio.hに>
/ *
com.stw.beansによる2017年10月2日夜08時07分 
* /
INT [10] = {3,6、-4,6、-1,5、-6,7,2、-5}。
INT X、Y、M。
int型のL、R。
INT MAX3(INT I、整数jを、int型K)  
{  
    IF(I> = J && I> = K)  
        リターンI。  
    MAX3を返す(J、K、I);  
}   
INT maxsum(int型のx、int型のY)  
{  
    IF(X> Y)戻り0;  
    (x == y)を返した場合、[X]。  
    INT、M =(X + Y)/ 2。  
  
    int型L = [M]、lsum = 0。  
    ための式(I = mをint型、I> = X; i--){  
        lsum + = [I]。  
        IF(lsum> L)  
            L = lsum。  
    }  
      
    INT R = A [M + 1]、RSUM = 0。   
    {(私は++; iが= yと<Iは、M + 1 = INT)のための   
        [I] + = RSUM。  
        (RSUM> R&LT)IF   
            ; R&LT RSUM =   
    }
  INT maxsumのMaxL =(X、M);
    INT = MAXR maxsum(M + 1、Yする。);
    (MaxLの、MAXR、L + R&LT)MAX3を返す; //三を返します最大  
}  
  


INTメイン(ボイド)
{
int型の最大値= [0]。
X = 0。
Y = 10。
最大= maxsum(X、Y)
printf( "%の\のN-の3D最大"、MAX);
}

おすすめ

転載: blog.csdn.net/qq_39063526/article/details/78152443
おすすめ