leetcode Maximum Subarray 加最大的子序串

Given an integer array nums, find the contiguous subarray (containing at least one number) which has the largest sum and return its sum.

Example:

Input: [-2,1,-3,4,-1,2,1,-5,4],
Output: 6
Explanation: [4,-1,2,1] has the largest sum = 6.

Follow up:

If you have figured out the O(n) solution, try coding another solution using the divide and conquer approach, which is more subtle.

 

 

   function maxSubArray($nums) {
        
        
        $max = $nums[0];
        $dp_n = $nums[0];
        for($i=1; $i<count($nums); $i++){
            $dp_n = $nums[$i] + ($dp_n>0 ? $dp_n : 0);
            $max = $dp_n>$max ? $dp_n : $max;
        }
        return $max;
    }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章