4.19
(1)最開始想到的就是用很暴力的演算法,從第乙個數開始算。一直到最後乙個,毫無疑問時間複雜度的是n^2。
但是沒想到居然過了耶。
public class solution
if(nums.length ==1)
int length = nums.length;
int max = nums[0];
for(int i = 0; imax)
}if(tmp > max)
}return max;
}}
(2) 第二種演算法,只掃瞄一遍,複雜度為o(n)
tmp用來記錄累計和的大小,如果累計和為負數,則置零。
public class solution
if(nums.length ==1)
int length = nums.length;
int max = nums[0];
int tmp = 0;
for(int i = 0; i < length; i++)
else if(tmp < 0)
}return max;
}}
(3)從網上學習到的分治演算法,最大值要不出現在左側,要不出現在右側,要不跨越中點。這樣可以採用遞迴。
時間複雜度是o(nlogn)
不想寫。
41 最大子陣列
原題 給定乙個整數陣列,找到乙個具有最大和的子陣列,返回其最大和。注意事項 子陣列最少包含乙個數 樣例 給出陣列 2,2,3,4,1,2,1,5,3 符合要求的子陣列為 4,1,2,1 其最大和為6 挑戰 要求時間複雜度為o n 標籤 貪心領英 陣列子陣列 列舉法1 include 2 includ...
題41 最大子陣列
the subarray should contain at least one number.yes class solution public param nums a list of integers return a integer indicate the sum of max subar...
LintCode 41 最大子陣列
給定乙個整數陣列,找到乙個具有最大和的子陣列,返回其最大和。注意事項 子陣列最少包含乙個數 樣例 給出陣列 2,2,3,4,1,2,1,5,3 符合要求的子陣列為 4,1,2,1 其最大和為6 挑戰 要求時間複雜度為o n 不考慮挑戰的要求的話,需要兩層迴圈,外層迴圈從開始遍歷到結束,內層迴圈用來尋...