https://leetcode-cn.com/problems/lian-xu-zi-shu-zu-de-zui-da-he-lcof/
描述:輸入一個整型陣列,陣列中的一個或連續多個整陣列成一個子陣列,求所有子陣列的和的最大值,
要求時間復雜度為O(n),

每個元素只有兩個選擇,要么加入前面元素的連續子陣列,要么以自己為起點組成連續子陣列,在這個遍歷的程序中,保存最大值即可,
/**
* @param {number[]} nums
* @return {number}
*/
var maxSubArray = function(nums) {
let res = nums[0];
let max = res;
for(let i = 1; i < nums.length; i++) {
res = Math.max(res + nums[i], nums[i]);
if (res > max) {
max = res;
}
}
return max;
};
代碼是O(n)的時間復雜度和O(1)的空間復雜度

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/132162.html
標籤:其他
上一篇:引入外部css
