அல்கோரிதம்branching

Conditional branching — pointer நகர்வு

TT
Testlaa Team
May 14, 20261 min read

Branching: பல if cases; duplicates in-place, partition போன்றவை. ஒவ்வொரு branch-யும் safe shrink.

Try this in Python

def remove_duplicates_sorted(nums: list[int]) -> int:
    if not nums:
        return 0
    w = 1
    for r in range(1, len(nums)):
        if nums[r] != nums[w - 1]:
            nums[w] = nums[r]
            w += 1
    return w


a = [1, 1, 2, 2, 3]
k = remove_duplicates_sorted(a)
print(k, a[:k])

Key takeaways

  • Fast/slow pointers — branching.
  • Invariant: முதல் w unique.
  • r, w trace பயிற்சி.

Tags:

Two pointersPythonமாணவர்கள்