經典 最大和 最大積連續子串行問題

2021-05-25 13:08:09 字數 577 閱讀 5148

原文:

對於乙個包含了正負整數的陣列,求其「最大和」連續子串行 以及 「最大積」連續子串行

比如:3 -4 8 -5 2 6 -7

最大和子串行是:8 -5 2 6,和為11

最大積子串行是:3 -4 8 -5 2 6,積自己算:)

對於最大和問題:

我們令f(n)表示[0,n]區間內以d[n]為結尾的最大和,d為原序列,那麼有:

f(n + 1) = max = d[n + 1] + max

對於最大積問題:

由於負數的存在,我們不能簡簡單單只存乙個當前最大值,我們還需要存當前最小值。

我們令f(n)表示[0,n]區間內以d[n]為結尾的最大積,令g(n)表示[0,n]區間內以d[n]為結尾的最小積,d為原序列,那麼有:

f(n + 1) = max

g(n + 1) = min

**如下:

最大子段和結果為:

11 最優序列為:

8 -5 2 6

最大子段積結果為:

5760

最優序列為:

3 -4 8 -5 2 6

連續子串行最大和問題

author wawlian 連續子串行最大和問題 public class maxsubsequence return maxsum 連續子串行最大和問題的平方求解演算法 param a 整數序列組成的陣列 return 最大子串行之和的值 public static int maxsubsequ...

連續子串行最大和問題!!!

public class programlist1 初始化陣列函式 public static int initarray int arrayparamnum 根據使用者鍵入呼叫指定的函式 public static int execfunction int n,int a 蠻力演算法 戲稱 費勁演...

連續子串行最大和

這道題目使用最大和問題的分治演算法 package com.divide.cc author sunnyboy runtime is o nlogn public class sumsequence int maxsum maxsubsequencesum a system.out.println ...