GIVEN TWO WORDS, DECIDE IF ONE IS A REARRANGEMENT OF THE OTHER. THE TRICK: USE 2 HASH MAPS TO COUNT THE FREQUENCY OF EACH LETTER IN BOTH WORDS, THEN COMPARE.
2 HASH MAPS - COUNT CHARACTER FREQUENCY OF BOTH WORDS IN THEIR HASHMAPS. COMPARE AT THE END. SAME IS WIN.
ONE PASS, TWO SHELVES. BLUE IS THE LETTER PAIR WE ARE ON. EACH SHELF TALLIES ONE WORD. GOLD MEANS THE SHELVES MATCH.
1def is_anagram(s, t):2 if len(s) != len(t):3 return False4 count_s, count_t = {}, {}5 for i in range(len(s)):6 count_s[s[i]] = 1 + count_s.get(s[i], 0)7 count_t[t[i]] = 1 + count_t.get(t[i], 0)8 return count_s == count_t
ONE WALK OVER BOTH WORDS TOGETHER. EACH LETTER DOES ONE FAST COUNT BUMP.
THE MAPS HOLD AT MOST 26 LETTERS EACH, NO MATTER HOW LONG THE WORDS GROW.