Week 06 - Intervals + Backtracking (Guide)

Reference extracted from the detailed guide.

Intervals

#LeetCodeProblem NameDifficultyVideo Solution
1LC #57Insert Interval IntervalsMediumhttps://www.youtube.com/watch?v=A8NUOmlwOlM
2LC #56Merge Intervals IntervalsMediumhttps://www.youtube.com/watch?v=44H3cEC2fFM
3LC #435Non-overlapping Intervals IntervalsMediumhttps://www.youtube.com/watch?v=nONCGxWoUfM
4LC #252Meeting Rooms IntervalsEasyhttps://www.youtube.com/watch?v=PaJxqZVPhbg
5LC #253Meeting Rooms II IntervalsMediumhttps://www.youtube.com/watch?v=FdzJmTCVyJU

Backtracking

Watch First:

#LeetCodeProblem NameDifficultyVideo Solution
1LC #78Subsets BacktrackingMediumhttps://www.youtube.com/watch?v=REOH22Xwdkk
2LC #90Subsets II BacktrackingMediumhttps://www.youtube.com/watch?v=Vn2v6ajA7U0
3LC #46Permutations BacktrackingMediumhttps://www.youtube.com/watch?v=s7AvT7cGdSo
4LC #39Combination Sum BacktrackingMediumhttps://www.youtube.com/watch?v=GBKI9VSKdGg
5LC #40Combination Sum II BacktrackingMediumhttps://www.youtube.com/watch?v=rSA3t6BDDwg
6LC #79Word Search BacktrackingMediumhttps://www.youtube.com/watch?v=pfiQ_PS1g8E
7LC #131Palindrome Partitioning BacktrackingMediumhttps://www.youtube.com/watch?v=3jvWodd7ht0
8LC #51N-Queens BacktrackingHardhttps://www.youtube.com/watch?v=Ph95IHmRp5M

Template: Backtracking

def subsets(nums):
    result = []
    
    def backtrack(start, path):
        result.append(path[:])  # add copy
        for i in range(start, len(nums)):
            path.append(nums[i])
            backtrack(i + 1, path)
            path.pop()
    
    backtrack(0, [])
    return result

def permute(nums):
    result = []
    
    def backtrack(path, used):
        if len(path) == len(nums):
            result.append(path[:])
            return
        for i in range(len(nums)):
            if used[i]:
                continue
            used[i] = True
            path.append(nums[i])
            backtrack(path, used)
            path.pop()
            used[i] = False
    
    backtrack([], [False] * len(nums))
    return result

Comments

Share your approach or ask questions

0 comments
?
|
Markdown supported
Sign in to post

Loading comments...