less than 1 minute read

Problem Statement

leetcode problem link

Brute Force [Accepted]


class Solution:
    def maxSum(self, nums: List[int]) -> int:
        res = 0
        max_val = max(nums)
        if max_val < 0:
            return max_val

        seen = set()
        for num in nums:
            if num in seen:
                continue
            if num > 0:
                res += num
            seen.add(num)
        return res

Approach: Duplicate Removal for Positive Numbers

class Solution:
    def maxSum(self, nums: List[int]) -> int:
        positiveNumsSet = set([num for num in nums if num > 0])
        return max(nums) if len(positiveNumsSet) == 0 else sum(positiveNumsSet)