அல்கோரிதம்frequency signature

Frequency Signatures and Histogram Fingerprints — Frequency Signatures and Histogram Fingerprints — அடிப்படை

TT
Testlaa Team
May 14, 20261 min read

கையொப்பம் — multiset ஐ நிலையான வடிவம்; anagram குழு.

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

நெருங்கிய நகல்; சவால் கலவை சமத்துவம்.

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

சார்பு தூய்மை; வரிசையற்ற multiset — வரிசைப்படுத்து அல்லது நிலையான tuple.

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

from collections import Counter


def sig(s: str) -> tuple[tuple[str, int], ...]:
    return tuple(sorted(Counter(s).items()))


def group_anagrams(strs: list[str]) -> list[list[str]]:
    buckets: dict[tuple[tuple[str, int], ...], list[str]] = {}
    for w in strs:
        buckets.setdefault(sig(w), []).append(w)
    return list(buckets.values())


print(group_anagrams(['eat', 'tea', 'tan', 'ate']))

அடிக்கடி நேரும் தவறுகள்

  • இடம் சேர்த்தல் — கடுமை.
  • பெரிய tuple — hash கவனம்.

முக்கியச் சுருக்கக் குறிப்புகள்

  • tuple(sorted(Counter(s).items())).
  • 26 நீள tuple வேகம்.

Tags:

Hashing & frequencyPythonமாணவர்கள்