அல்கோரிதம்duplicate handling in recursion
Handling Duplicates in Recursion — அடிப்படை
TT
Testlaa Team
May 14, 2026•1 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மாணவர்கள்
