1. 程式人生 > >[經典算法之數組]

[經典算法之數組]

string pri out static sys 最大的 span bsp alt

數組中子數組最大和

技術分享圖片
/**
 * 求數組中最大的子數組之和 動態規劃
 * 
 * @author ytuan
 *
 */
public class MaxSum {

    public static int begin = 0;
    public static int end = 0;

    public static int maxSum(int arr[]) {

        int n = arr.length;
        int start = 0;

        int nMax = 0;
        int aMax = 0;

        
for (int i = 0; i < n; i++) { if (nMax < 0) { nMax = arr[i]; start = i; } else { nMax += arr[i]; } if (nMax > aMax) { aMax = nMax; begin = start; end
= i; } } return aMax; } public static void main(String[] args) { int arr[] = { 1, 2, -5, 6, 8, -5, 9 }; System.out.println(MaxSum.maxSum(arr)); System.out.println(MaxSum.begin); System.out.println(MaxSum.end); } }
View Code

[經典算法之數組]