From b42cc9e364e5c2e06c199940fc4c7f65b53680c7 Mon Sep 17 00:00:00 2001 From: hu6r1s Date: Fri, 3 Oct 2025 10:39:41 +0900 Subject: [PATCH 1/3] feat: Solve missing-number problem --- missing-number/hu6r1s.py | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 missing-number/hu6r1s.py diff --git a/missing-number/hu6r1s.py b/missing-number/hu6r1s.py new file mode 100644 index 000000000..d4d24af1c --- /dev/null +++ b/missing-number/hu6r1s.py @@ -0,0 +1,6 @@ +class Solution: + def missingNumber(self, nums: List[int]) -> int: + for i in range(len(nums)): + if i not in nums: + return i + return len(nums) From 6c4566706b29b43795aee13a6f091e827e530359 Mon Sep 17 00:00:00 2001 From: hu6r1s Date: Fri, 3 Oct 2025 10:44:34 +0900 Subject: [PATCH 2/3] feat: Solve reorder-list problem --- reorder-list/hu6r1s.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 reorder-list/hu6r1s.py diff --git a/reorder-list/hu6r1s.py b/reorder-list/hu6r1s.py new file mode 100644 index 000000000..559f69259 --- /dev/null +++ b/reorder-list/hu6r1s.py @@ -0,0 +1,26 @@ +# Definition for singly-linked list. +# class ListNode: +# def __init__(self, val=0, next=None): +# self.val = val +# self.next = next +class Solution: + def reorderList(self, head: Optional[ListNode]) -> None: + """ + Do not return anything, modify head in-place instead. + """ + stack = [] + node = head + while node: + stack.append(node) + node = node.next + + node = dummy = ListNode(-1) + for i in range(len(stack)): + if i % 2: + node.next = stack.pop() + else: + node.next = head + head = head.next + node = node.next + node.next = None + return dummy.next From a2fc577ce7fae8fb367c40e98d287e2159623dbe Mon Sep 17 00:00:00 2001 From: hu6r1s Date: Fri, 3 Oct 2025 10:50:55 +0900 Subject: [PATCH 3/3] feat: Solve merge-intervals --- merge-intervals/hu6r1s.py | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 merge-intervals/hu6r1s.py diff --git a/merge-intervals/hu6r1s.py b/merge-intervals/hu6r1s.py new file mode 100644 index 000000000..4478ac2a6 --- /dev/null +++ b/merge-intervals/hu6r1s.py @@ -0,0 +1,9 @@ +class Solution: + def merge(self, intervals: List[List[int]]) -> List[List[int]]: + result = [] + for interval in sorted(intervals): + if not result or result[-1][1] < interval[0]: + result.append(interval) + else: + result[-1][1] = max(result[-1][1], interval[1]) + return result