الگوی کلمه – 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)



