Merge Sorted Array

Problem Summary

(Write in your own words, not copied from LeetCode. This forces comprehension.)

Key Observations

(Patterns, constraints, or hints in the problem statement.)

Approach Taken

(Step-by-step logic or pseudocode before coding.)

Main Concepts Used

(Mark the CS concepts or algorithms used.)

Time & Space Complexity

Code

class Solution:
    def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None:
        """
        Do not return anything, modify nums1 in-place instead.
        """
        p1, p2, p3 = m - 1, n - 1, m + n - 1

        while p3 >= 0:
            num1 = nums1[p1] if p1 >= 0 else -inf
            num2 = nums2[p2] if p2 >= 0 else -inf

            if num1 >= num2:
                nums1[p3] = num1
                p1 -= 1
            else:
                nums1[p3] = num2
                p2 -= 1
            p3 -= 1

Common Mistakes / Things I Got Stuck On