diff --git a/Problem_1.py b/Problem_1.py new file mode 100644 index 00000000..9544a8fc --- /dev/null +++ b/Problem_1.py @@ -0,0 +1,19 @@ +# https://leetcode.com/problems/sort-colors/submissions/1985832481/ + +def sortColors( nums): + n = len(nums) + l,m,r = 0,0,n-1 + while m <= r: + curr = nums[m] + if curr == 1: + m += 1 + elif curr == 0: + nums[l],nums[m]=nums[m],nums[l] + l+=1 + m+=1 + else: + nums[r],nums[m]=nums[m],nums[r] + r-=1 +nums=[2,0,1] +sortColors(nums) +print(nums) \ No newline at end of file diff --git a/Problem_2.py b/Problem_2.py new file mode 100644 index 00000000..1d66eb53 --- /dev/null +++ b/Problem_2.py @@ -0,0 +1,23 @@ +# https://leetcode.com/problems/3sum/description/ +class Solution: + def threeSum(self, nums: list[int]) -> list[list[int]]: + total_sum = 0 + n = len(nums) + triplets = set() + for i in range(n): + my_set = set() + remaining = total_sum - nums[i] + for j in range(i + 1, n): + if remaining - nums[j] in my_set: + temp = [nums[i], nums[j], remaining - nums[j]] + temp.sort() + triplets.add(tuple(temp)) + else: + my_set.add(nums[j]) + result = [list(x) for x in triplets] + return result + + +nums = [-1,0,1,2,-1,-4] +sl = Solution() +print(sl.threeSum(nums)) \ No newline at end of file diff --git a/Problem_3.py b/Problem_3.py new file mode 100644 index 00000000..81576ebd --- /dev/null +++ b/Problem_3.py @@ -0,0 +1,18 @@ +class Solution: + def maxArea(self, height): + n = len(height) + left = 0 + right = n - 1 + result = 0 + while left < right: + result = max(result, (right - left) * min(height[left], height[right])) + if height[left] > height[right]: + right -= 1 + else: + left += 1 + return result + +nums=[2,0,1] +sl = Solution() + +print(sl.maxArea(nums)) \ No newline at end of file