الگوی کلمه – LeetCode – جاوا

Word Pattern مشکلی است که با استفاده از آن حل می شود هاشمپ
بیایید برای درک بهتر سوال به چند مثال نگاهی بیندازیم.
مثال 1:
ورودی: الگو = “abba”، s = “سگ گربه گربه سگ”
خروجی: درست
توضیح: «الف» با سگ و «ب» با گربه ترسیم شده است
مثال 2:
ورودی: الگو = “عبا”، s = “گربه سگ گربه ماهی”
خروجی: نادرست
توضیح: a -> سگ
ب -> گربه
a -> ماهی (از آنجایی که ‘a’ قبلاً با سگ ترسیم شده است و نمی توان از آن برای نقشه برداری مجدد با برخی استفاده کرد رشته دیگر. بنابراین، نتیجه نادرست است)
مثال 3: (یک مورد آزمایشی مهم)
ورودی: الگو = “عبا”، s = “سگ سگ سگ”
خروجی: نادرست
توضیح: a -> سگ
ب -> سگ
(از آنجایی که “a” با سگ نگاشت می شود و “b” نیز نقشه برداری از همان رشته. بنابراین، نتیجه نادرست است)
کد
class Solution {
public boolean wordPattern(String pattern, String s) {
String arr[] = s.split(" ");
int n = arr.length;
if(pattern.length()!=n)
return false;
Map<Character, String> map = new HashMap<>();
for(int i=0; i<n; i++){
char ch = pattern.charAt(i);
if(map.containsKey(ch) && !(map.get(ch).equals(arr[i])))
return false;
if(!map.containsKey(ch) && map.containsValue(arr[i]))
return false;
map.put(ch, arr[i]);
}
return true;
}
}
ممنون که خواندید🥰.
کامنت بذارید و پست رو لایک کنید💓
برای اطلاعات بیشتر دنبال کنید 🤝 & & Happy Coding🚀👩💻
فراموش نکنید که سایر شبکه های اجتماعی من را بررسی کنید:
Github
هشتگ
متوسط
توییتر (X)