From 852261190b39bb820e58b7969f927ee0f854b909 Mon Sep 17 00:00:00 2001 From: Bharath Vuppala Date: Wed, 8 Jan 2025 12:59:09 -0800 Subject: [PATCH 1/3] 3 problems completed --- Contiguous Array.py | 21 +++++++++++++++++++++ LOngest palindrome.py | 19 +++++++++++++++++++ Sub Array Sum Equala K .py | 20 ++++++++++++++++++++ 3 files changed, 60 insertions(+) create mode 100644 Contiguous Array.py create mode 100644 LOngest palindrome.py create mode 100644 Sub Array Sum Equala K .py diff --git a/Contiguous Array.py b/Contiguous Array.py new file mode 100644 index 00000000..d18da3db --- /dev/null +++ b/Contiguous Array.py @@ -0,0 +1,21 @@ +#time complexity- 0(n) and space complexity- 0(n) +class Solution: + def findMaxLength(self, nums: List[int]) -> int: + if nums == None or len(nums)==0: + return 0 + + rsum=0 + Map={} + Map[0]=-1 + Max=0 + + for i in range(len(nums)): + if nums[i]==0: + rsum=rsum-1 + if nums[i]==1: + rsum = rsum+1 + if rsum not in Map: + Map[rsum]=i + else: + Max=max(Max,i-Map[rsum]) + return Max \ No newline at end of file diff --git a/LOngest palindrome.py b/LOngest palindrome.py new file mode 100644 index 00000000..dd2decf8 --- /dev/null +++ b/LOngest palindrome.py @@ -0,0 +1,19 @@ +#time complexity- 0(n) and space complexity- 0(1) +class Solution: + def longestPalindrome(self, s: str) -> int: + if s == None or len(s) ==0: + return 0 + + count=0 + myset= set() + for i in range (len(s)): + if s[i] not in myset: + myset.add(s[i]) + else: + count = count+2 + myset.remove(s[i]) + if myset: + count = count+1 + + + return count \ No newline at end of file diff --git a/Sub Array Sum Equala K .py b/Sub Array Sum Equala K .py new file mode 100644 index 00000000..82026b1e --- /dev/null +++ b/Sub Array Sum Equala K .py @@ -0,0 +1,20 @@ +#time complexity- 0(n) and space complexity- 0(n) +class Solution: + def subarraySum(self, nums: List[int], k: int) -> int: + if nums== None or len(nums) ==0: + return 0 + + count=0 + Map={} + Map[0] = 1 + rsum =0 + for i in range(len(nums)): + rsum = rsum+nums[i] + if (rsum-k) in Map: + count= count+Map[rsum-k] + + if rsum not in Map: + Map[rsum] =1 + else: + Map[rsum] +=1 + return count \ No newline at end of file From 98bb180ef4021eb0106ac67939fa8ec03a86c471 Mon Sep 17 00:00:00 2001 From: BharathVuppala96 Date: Wed, 31 Dec 2025 17:23:40 -0800 Subject: [PATCH 2/3] 3 problems completed --- Contiguous Array.py | 27 +++++++++++++-------------- LOngest palindrome.py | 27 +++++++++++++-------------- Sub Array Sum Equala K .py | 20 -------------------- subarray sum equals K.py | 18 ++++++++++++++++++ 4 files changed, 44 insertions(+), 48 deletions(-) delete mode 100644 Sub Array Sum Equala K .py create mode 100644 subarray sum equals K.py diff --git a/Contiguous Array.py b/Contiguous Array.py index d18da3db..d6a5ed9c 100644 --- a/Contiguous Array.py +++ b/Contiguous Array.py @@ -1,21 +1,20 @@ -#time complexity- 0(n) and space complexity- 0(n) class Solution: def findMaxLength(self, nums: List[int]) -> int: - if nums == None or len(nums)==0: - return 0 - rsum=0 - Map={} - Map[0]=-1 - Max=0 + running_sum=0 + map={} + max_length=0 + + map[0]=-1 for i in range(len(nums)): if nums[i]==0: - rsum=rsum-1 - if nums[i]==1: - rsum = rsum+1 - if rsum not in Map: - Map[rsum]=i + running_sum=running_sum-1 + else: + running_sum+=1 + if running_sum not in map: + map[running_sum]=i else: - Max=max(Max,i-Map[rsum]) - return Max \ No newline at end of file + max_length=max(max_length, i-map[running_sum]) + return max_length + \ No newline at end of file diff --git a/LOngest palindrome.py b/LOngest palindrome.py index dd2decf8..3dd5af36 100644 --- a/LOngest palindrome.py +++ b/LOngest palindrome.py @@ -1,19 +1,18 @@ -#time complexity- 0(n) and space complexity- 0(1) class Solution: def longestPalindrome(self, s: str) -> int: - if s == None or len(s) ==0: - return 0 - + count=0 - myset= set() - for i in range (len(s)): - if s[i] not in myset: - myset.add(s[i]) + a_set=set() + + for i in range(len(s)): + if s[i] not in a_set: + a_set.add(s[i]) else: - count = count+2 - myset.remove(s[i]) - if myset: - count = count+1 + count=count+2 + a_set.remove(s[i]) + if len(a_set)>0: + return count+1 + else: + return count - - return count \ No newline at end of file + \ No newline at end of file diff --git a/Sub Array Sum Equala K .py b/Sub Array Sum Equala K .py deleted file mode 100644 index 82026b1e..00000000 --- a/Sub Array Sum Equala K .py +++ /dev/null @@ -1,20 +0,0 @@ -#time complexity- 0(n) and space complexity- 0(n) -class Solution: - def subarraySum(self, nums: List[int], k: int) -> int: - if nums== None or len(nums) ==0: - return 0 - - count=0 - Map={} - Map[0] = 1 - rsum =0 - for i in range(len(nums)): - rsum = rsum+nums[i] - if (rsum-k) in Map: - count= count+Map[rsum-k] - - if rsum not in Map: - Map[rsum] =1 - else: - Map[rsum] +=1 - return count \ No newline at end of file diff --git a/subarray sum equals K.py b/subarray sum equals K.py new file mode 100644 index 00000000..aab8167e --- /dev/null +++ b/subarray sum equals K.py @@ -0,0 +1,18 @@ +class Solution: + def subarraySum(self, nums: List[int], k: int) -> int: + + running_sum=0 + + map={} + map[0]=1 + count=0 + for i in range(len(nums)): + running_sum+=nums[i] + if running_sum-k in map: + count=count+map[running_sum-k] + if running_sum not in map: + map[running_sum]=1 + else: + map[running_sum]+=1 + + return count \ No newline at end of file From 3c8a9d7ddfa38015092e969716cb34a6595a3830 Mon Sep 17 00:00:00 2001 From: BharathVuppala96 Date: Tue, 3 Feb 2026 12:44:49 -0800 Subject: [PATCH 3/3] 3problems completed --- Contiguous Array.py => Contiguous_array.py | 0 LOngest palindrome.py => Longest_Palindrome.py | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename Contiguous Array.py => Contiguous_array.py (100%) rename LOngest palindrome.py => Longest_Palindrome.py (100%) diff --git a/Contiguous Array.py b/Contiguous_array.py similarity index 100% rename from Contiguous Array.py rename to Contiguous_array.py diff --git a/LOngest palindrome.py b/Longest_Palindrome.py similarity index 100% rename from LOngest palindrome.py rename to Longest_Palindrome.py