Sign inEnroll free
NeetCode 150 / Arrays & Hashing
EasyArrays & HashingO(n)
ভিডিওতে দেখো — YouTube @algonur_com

কোড

Python
def isAnagram(s: str, t: str) -> bool:
    if len(s) != len(t):
        return False
    count = {}
    for c in s:
        count[c] = count.get(c, 0) + 1
    for c in t:
        if c not in count:
            return False
        count[c] -= 1
        if count[c] < 0:
            return False
    return True
Java
public boolean isAnagram(String s, String t) {
    if (s.length() != t.length()) return false;
    int[] count = new int[26];
    for (char c : s.toCharArray()) count[c - 'a']++;
    for (char c : t.toCharArray())
        if (--count[c - 'a'] < 0) return false;
    return true;
}
Kotlin
fun isAnagram(s: String, t: String): Boolean {
    if (s.length != t.length) return false
    val count = IntArray(26)
    for (c in s) count[c - 'a']++
    for (c in t) if (--count[c - 'a'] < 0) return false
    return true
}
C++
bool isAnagram(string s, string t) {
    if (s.size() != t.size()) return false;
    int cnt[26] = {};
    for (char c : s) cnt[c-'a']++;
    for (char c : t) if (--cnt[c-'a'] < 0) return false;
    return true;
}

জটিলতা

O(n)
সময় — অ্যারেটা একবারই ঘুরি, ম্যাপে খোঁজা O(1)।
O(1)
জায়গা — সবচেয়ে খারাপ ক্ষেত্রে সব সংখ্যা ম্যাপে থাকে।
আগের সমস্যা← Contains Duplicateপরের সমস্যাTwo Sum →