原文:
對於乙個包含了正負整數的陣列,求其「最大和」連續子串行 以及 「最大積」連續子串行
比如: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 ...