அல்கோரிதம்duplicate handling in recursion

Handling Duplicates in Recursion — அடிப்படை

TT
Testlaa Team
May 14, 20261 min read

நகல்கள் — வரிசை + தவிர்ப்பு அல்லது எண்ணி; வெவ்வேறு வரிசையில் ஒரே கலவை.

உண்மை உலகில் இது ஏன் முக்கியம்?

புதிர்; கட்டுப்பாட்டு தீர்வி; நேர்காணல் — நிலை, சுயமுறை, மீளமைப்பு.

மையக் கருத்து (மாணவர்களுக்கான விளக்கம்)

அதே ஆழத்தில் சம அண்டை — permutations II.

Pythonில் முயற்சி செய்வோம்

def perm_unique(nums: list[int]) -> list[list[int]]:
    nums.sort()
    res: list[list[int]] = []
    used = [False] * len(nums)

    def dfs(path: list[int]) -> None:
        if len(path) == len(nums):
            res.append(path.copy())
            return
        for i in range(len(nums)):
            if used[i] or (i and nums[i] == nums[i - 1] and not used[i - 1]):
                continue
            used[i] = True
            path.append(nums[i])
            dfs(path)
            path.pop()
            used[i] = False

    dfs([])
    return res


print(perm_unique([1, 1, 2]))

பொதுவான தவறுகள்

  • முதல் தோற்றம் இழப்பு.
  • உள்ளீடு மாற்றம்.

முக்கிய பாடங்கள்

  • i>start விதி ஆவணம்.
  • முந்தைய பயன்பாடு கட்டாயம்.

Tags:

Recursion & backtrackingPythonமாணவர்கள்