【演算法資料結構Java實現】時間複雜度為O(n)的最大和序列
1.背景
最大序列和問題一直以來是一個比較經典的演算法題,看到這個問題,有很多解題的辦法。今天看到了一種時間複雜度只為O(n)的解題演算法,在這裡記錄下。
思路很簡單,比方說有P1,P2,P3,P4.....這樣一個序列,我們從P1開始求和,比如說在P5時求和數小於零,就可以斷定。第一種情況,最大序列在P1~P5之間,或者說在P6~Pn之間。因為如果P1+P2+......+P5的和小於零,那麼它可以看成一個數,而且是序列第一個數,則任何一個最大序列都不會包含這個數。
2.程式碼實現
package Algorithm_analysis;
public class MaxSumOfArray {
public static void main(String args[]){
System.out.print(max_sum());
}
public static int max_sum(){
int[] array={-2,11,-4,13,-5,-2};
int max_sum=0;
int array_sum=0;
for(int j=0;j<array.length;j++)
{
array_sum+=array[j];
if(array_sum<0){
max_sum=0;
}
if (array_sum>max_sum)
{
max_sum=array_sum;
}
}
return max_sum;
}
}
參考:http://blog.csdn.net/superchanon/article/details/8228212 (完全四種實現方法)
/********************************
* 本文來自部落格 “李博Garvin“
* 轉載請標明出處:http://blog.csdn.net/buptgshengod
******************************************/
相關文章
- Java實現:排序演算法--時間複雜度為O(n² )Java排序演算法時間複雜度
- 時間複雜度為 O (n^2) 的排序演算法時間複雜度排序演算法
- 時間複雜度為 O(n^2) 的排序演算法時間複雜度排序演算法
- 時間複雜度O(n)和空間複雜度時間複雜度
- 判斷連結串列是否為迴文結構,空間負責度為O(1),時間複雜度為O(n)時間複雜度
- 【資料結構】-時間複雜度和空間複雜度資料結構時間複雜度
- 資料結構~時間複雜度資料結構時間複雜度
- 資料結構:時間複雜度資料結構時間複雜度
- 時間複雜度O(1)、O(n)、O(n²)、O(nlogn)的含義時間複雜度
- 資料結構與演算法——時間複雜度資料結構演算法時間複雜度
- 資料結構 之 演算法時間複雜度資料結構演算法時間複雜度
- 正規表示式時間複雜度O(n)時間複雜度
- 資料結構與演算法:演算法的時間複雜度資料結構演算法時間複雜度
- 時間複雜度為O(nlogn)的排序演算法時間複雜度排序演算法
- 時間複雜度為 O(nlogn) 的排序演算法時間複雜度排序演算法
- Leetcode 234. 迴文連結串列 快慢指標+連結串列逆序實現O(n)時間複雜度且O(1)空間複雜度LeetCode指標時間複雜度
- 演算法與資料結構--空間複雜度O(1)遍歷樹演算法資料結構複雜度
- 資料結構與演算法-複雜度分享&大 O 演算法資料結構演算法複雜度
- JavaScript 資料結構與演算法之美 - 時間和空間複雜度JavaScript資料結構演算法複雜度
- 一道看上去很嚇人的演算法面試題:如何對n個數進行排序,要求時間複雜度O(n),空間複雜度O(1)演算法面試題排序時間複雜度
- 自學 資料結構四月二十一日_時間複雜度&空間複雜度資料結構時間複雜度
- 《資料結構與演算法之美》複雜度分析(下):淺析最好、最壞、平均、均攤時間複雜度 (讀後感)資料結構演算法時間複雜度
- 資料結構-邏輯關係&物理關係、時間複雜度、空間複雜度、順序表資料結構時間複雜度
- 資料結構與演算法(一):帶你瞭解時間複雜度和空間複雜度到底是什麼?資料結構演算法時間複雜度
- 資料結構基礎學習之時間複雜度分析資料結構時間複雜度
- 【資料結構】根據主定理,計算時間複雜度資料結構時間複雜度
- 演算法的時間複雜度演算法時間複雜度
- 資料結構與演算法——複雜度分析資料結構演算法複雜度
- 隨機列印0-100的全部數字並且不可重複,時間複雜度為O(n)隨機時間複雜度
- 時間複雜度跟空間複雜度時間複雜度
- 時間複雜度和空間複雜度時間複雜度
- 時間複雜度與空間複雜度時間複雜度
- JavaScript 演算法之最好、最壞時間複雜度分析JavaScript演算法時間複雜度
- 排序演算法:堆排序的實現和時間複雜度分析排序演算法時間複雜度
- 演算法分析__時間複雜度演算法時間複雜度
- 演算法(一)時間複雜度演算法時間複雜度
- 卷演算法——時間複雜度演算法時間複雜度
- 解惑3:時間頻度,演算法時間複雜度演算法時間複雜度