53. 최대 및 서브

문제점
nums에게 정수 배열을 감안할 때, 상기 연속하는 서브 - 어레이의 최대 값을 찾는 (서브 어레이는 적어도 하나 개의 원소를 포함), 그리고 최대로 돌아왔다.


그림 삽입 설명 여기

생각
nums [N] 서열의 끝까지
에프 ( ) = 미디엄 엑스 ( 에프 ( - 1 ) + 미디엄 에스 [ ] , 미디엄 에스 [ ] ) 에프 ( - 1 ) + 미디엄 에스 [ ] 인가 에프 ( - 1 ) 인가 긍정적 인 미디엄 에스 [ ] 인가 에프 ( - 1 ) 인가 부정 F (n)은 최대 (F가 (N-1) + nums는 [N], nums는 [N]가)는 \\ f는 (N-1) + nums는 [N]를 f (N-1)이 포지티브 \\ nums [이다 = (N-1)이 음수 인 f를 N]이고

코드

class Solution {
    public int maxSubArray(int[] nums) {
        int res=nums[0],fn=nums[0];
        for(int i=1; i<nums.length; i++) {
            fn=Math.max(fn+nums[i],nums[i]);
            res = Math.max(fn,res);
        }
        return res;        
    }
}
class Solution:
    def maxSubArray(self, nums: List[int]) -> int:
        
        fn = res = nums[0]
        for n in nums[1:]:
            fn = max(fn+n,n)
            res = max(res, fn)
        return res
게시 78 개 원래 기사 · 원 찬양 7 ·은 10000 +를 볼

추천

출처blog.csdn.net/puspos/article/details/104050309