From aadd0540df58fb587985f8d9c8865e10c6d1f732 Mon Sep 17 00:00:00 2001 From: Hwang Kyu Do Date: Thu, 5 Sep 2024 23:38:00 +0900 Subject: [PATCH 1/2] solve valid-palindrome with python --- valid-palindrome/bemelon.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 valid-palindrome/bemelon.py diff --git a/valid-palindrome/bemelon.py b/valid-palindrome/bemelon.py new file mode 100644 index 000000000..7e5dc93ff --- /dev/null +++ b/valid-palindrome/bemelon.py @@ -0,0 +1,18 @@ +class Solution: + def isAlphaNum(self, c : str): + return 'a' <= c.lower() <= 'z' or '0' <= c <= '9' + + # Time complexity: O(n) + # Space complexity: O(1) + def isPalindrome(self, s: str) -> bool: + left, right = 0, len(s) - 1 + + while left < right: + if self.isAlphaNum(s[left]) and self.isAlphaNum(s[right]): + if s[left].lower() != s[right].lower(): + return False + left, right = left + 1, right - 1 + else: + left, right = left + (not self.isAlphaNum(s[left])), right - (not self.isAlphaNum(s[right])) + + return True \ No newline at end of file From 66a9ac018dccf460c447358beb2300722725bc9a Mon Sep 17 00:00:00 2001 From: Hwang Kyu Do Date: Thu, 5 Sep 2024 23:42:52 +0900 Subject: [PATCH 2/2] solve missing-number with python --- missing-number/bemelon.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 missing-number/bemelon.py diff --git a/missing-number/bemelon.py b/missing-number/bemelon.py new file mode 100644 index 000000000..8767b6e0a --- /dev/null +++ b/missing-number/bemelon.py @@ -0,0 +1,12 @@ +class Solution: + # Time complexity: O(n) + # Space complexity: O(1) + def missingNumber(self, nums: List[int]) -> int: + visited = 0 + for num in nums: + visited |= (1 << num) + + for i in range(len(nums) + 1): + if (not visited & (1 << i)): + return i + return -1 \ No newline at end of file