ভিডিওতে দেখো — 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 TrueJava
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 →