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)