@Hadev
하댑의 개발 기록
@Hadev
전체 방문자
오늘
어제
  • All categories (65)
    • 📒 Tech Note (56)
      • Flutter (0)
      • Unity C# (1)
      • 웹 프로그래밍 (12)
      • CS 기본기 뚝딱 (3)
      • 알고리즘 & 자료구조 (10)
      • DB (6)
      • Cloud (10)
      • DevOps (14)
    • 🔖 Story (9)
      • 💻 개발 언저리 공부 (4)
      • ⛵️ 취미 & 팁 (5)
      • 💸 재테크 (0)

인기 글

티스토리

hELLO · Designed By 정상우.
@Hadev
🚀 Hadev Tech Blog
ABOUT
TAG
GUESTBOOK
[LeetCode] 152. Maximum Product Array
📒 Tech Note/알고리즘 & 자료구조

[LeetCode] 152. Maximum Product Array

2022. 9. 8. 23:17

*알고리즘 스터디에 참여하면서 Blind 75 LeetCode Questions 목록에 있는 문제를 풀이합니다.
https://leetcode.com/problems/maximum-product-subarray/

Maximum Product Subarray - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

문제 해설

숫자 배열이 주어지고, 연속되고 빈 배열이 아닌 부분 배열 중 곱의 값이 가장 큰 것을 찾아 return 한다.
앞서 해설했던 53. Maximum Subarray와 다른 점은 곱셈을 할 때 음수가 있을 때를 고려해야 한다.


풀이 - (1) Kadane's Algorithm

class Solution:
    def maxProduct(self, nums: List[int]) -> int:
        ans = maxSub = minSub =  nums[0]
        
        for num in nums[1:]:
            if (num < 0):
                tmp = maxSub
                maxSub = minSub
                minSub = tmp
            
            maxSub = max(num, maxSub * num)
            minSub = min(num, minSub * num)
            
            ans = max(ans, maxSub)
            
        return ans

배열을 한 번 탐색하므로 이 방법의 시간 복잡도는 O(N)이다.




저작자표시 비영리 변경금지 (새창열림)

'📒 Tech Note > 알고리즘 & 자료구조' 카테고리의 다른 글

[LeetCode] 1. Two Sum  (0) 2024.06.27
[LeetCode] 153. Find Minimum in Rotated Sorted Array  (0) 2022.09.24
[번역] 14가지 패턴으로 코딩 인터뷰 완전 정복하기  (0) 2022.09.08
[LeetCode] 53. Maximum Subarray  (0) 2022.09.03
[LeetCode] 238. Product of Array Except Self  (0) 2022.08.24
    '📒 Tech Note/알고리즘 & 자료구조' 카테고리의 다른 글
    • [LeetCode] 1. Two Sum
    • [LeetCode] 153. Find Minimum in Rotated Sorted Array
    • [번역] 14가지 패턴으로 코딩 인터뷰 완전 정복하기
    • [LeetCode] 53. Maximum Subarray
    @Hadev
    @Hadev

    티스토리툴바