diff options
Diffstat (limited to 'largest_pos_int_neg.py')
-rw-r--r-- | largest_pos_int_neg.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/largest_pos_int_neg.py b/largest_pos_int_neg.py new file mode 100644 index 0000000..f0d3fe4 --- /dev/null +++ b/largest_pos_int_neg.py @@ -0,0 +1,35 @@ +# 2441. Largest Positive Integer That Exists With Its Negative + +""" +given an integer array 'nums'that does not contain any zeros, find the +largest positive integer 'k' such that '-k' also exists in the array. return +the positive integer 'k'. if there is no such integer, return -1; +""" + + +class Solution(object): + def findMaxK(self, nums): + """ + :type nums: List[int] + :rtype: int + """ + nums.sort() + left, right = 0, len(nums) - 1 + max_k = float("-inf") + while left < right: + if nums[left] + nums[right] == 0: + max_k = max(max_k, nums[right]) + left += 1 + right -= 1 + elif nums[left] + nums[right] < 0: + left += 1 + else: + right -= 1 + return max_k if max_k != float("-inf") else -1 + + +if __name__ == "__main__": + obj = Solution() + print(obj.findMaxK([-1, 2, -3, 3])) + print(obj.findMaxK([-1, 10, 6, 7, -7, 1])) + print(obj.findMaxK([-10, 8, 6, 7, -2, -3])) |