From 0f9547715e40123de9f498f57294e8437e173f5e Mon Sep 17 00:00:00 2001 From: jla670 Date: Sun, 19 Apr 2026 15:05:09 -0700 Subject: [PATCH 1/2] reverse bits solution --- reverse-bits/jylee2033.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 reverse-bits/jylee2033.py diff --git a/reverse-bits/jylee2033.py b/reverse-bits/jylee2033.py new file mode 100644 index 000000000..f2ded7fae --- /dev/null +++ b/reverse-bits/jylee2033.py @@ -0,0 +1,14 @@ +class Solution: + def reverseBits(self, n: int) -> int: + # 0100 + + res = 0 + + for _ in range(32): + res = (res << 1) | (n & 1) + n >>= 1 + + return res + +# Time Complexity: O(1) +# Space Complexity: O(1) From 5a3ce87ccb52a4b5799ad56e724f2609b9d9c71d Mon Sep 17 00:00:00 2001 From: jla670 Date: Thu, 23 Apr 2026 10:52:06 -0700 Subject: [PATCH 2/2] longest repeating character replacement solution --- .../jylee2033.py | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 longest-repeating-character-replacement/jylee2033.py diff --git a/longest-repeating-character-replacement/jylee2033.py b/longest-repeating-character-replacement/jylee2033.py new file mode 100644 index 000000000..6f9f3f6f1 --- /dev/null +++ b/longest-repeating-character-replacement/jylee2033.py @@ -0,0 +1,27 @@ +class Solution: + def characterReplacement(self, s: str, k: int) -> int: + # "AABABBA", 1 + # l = 0 + # r = 4 + # max_freq = 0 + # max_len = 4 + # {"A":1, "B":2} + + l = 0 + max_len = 0 + max_freq = 0 + seen = {} + + for r, char in enumerate(s): + seen[char] = seen.get(char, 0) + 1 + max_freq = max(max_freq, seen[char]) + + while (r - l + 1) - max_freq > k: + seen[s[l]] -= 1 + l += 1 + + max_len = max(max_len, r - l + 1) + return max_len + +# Time Complexity: O(n) +# Space Complexity: O(1)