筆試題 最大連續序列和

2021-07-23 07:45:06 字數 839 閱讀 4851

給定n個數,求子序列的最大和。這個子串行可以有字首和字尾(也可以為空),但是字首和字尾的每個數都是原來數的負數,求這個最大和。

輸入為兩行,第一行為整數n(1~100),第二行為n個整數(32位int範圍內)。輸出最大連續序列和。

示例:

6 -3 5 -2 6 8 -3

輸出:

23 思路:遍歷所有可能的序列,對每個序列,先求最大字首(若沒有,則為0)maxprefix,題例為3,再求最大字尾(注意字尾的首位必須大於字首的末位)maxsuffix 為3,然後將不屬於前字尾的部分,即5, -2 ,6 ,8相加。

public class main 

find(a);

system.out.println(max);

}public static void find(int a)

if (n < 1) return;

for (int i = 0; i < n; i++) }}

public static int helper(int begin, int end)

}int m = d + 1; // 去掉字首的begin

if (d!= -1)

}} else

}m = begin;

}int n = d2 - 1; // 去掉字尾的end

if (d2 == -1) n = end;

for (; m <= n; m++)

re += maxsuffix;

re += maxprefix;

return re;

}}

小公尺2013校園招聘筆試題 最大連續子串行乘積

題目描述 給定乙個浮點數序列 可能有正數 0和負數 求出乙個最大的連續子串行乘積。輸入 輸入可能包含多個測試樣例。每個測試樣例的第一行僅包含正整數 n n 100000 表示浮點數序列的個數。第二行輸入n個浮點數用空格分隔。輸入資料保證所有數字乘積在雙精度浮點數表示的範圍內。輸出 對應每個測試案例,...

最大連續子串行和

最大連續子串行和問題是個很老的面試題了,最佳的解法是o n 複雜度,當然其中的一些小的地方還是有些值得注意的地方的。這裡還是總結三種常見的解法,重點關注最後一種o n 的解法即可。需要注意的是有些題目中的最大連續子串行和如果為負,則返回0 而本題目中的最大連續子串行和並不返回0,如果是全為負數,則返...

最大連續子串行和

求最大連續子串行和 分析 用乙個陣列存入輸入的數字。用乙個變數temp從0開始往後加,存放累計的和,用sum變數存放出現過的最大和。當temp遇到負數會減小,但不能初始化為0重新累計,因為後面還有可能出現正數,和會比前面sum大的情況。只有當temp遇到負數減到小於0時,temp初始化為0重新開始加...