{CodeGate}

کلمات همریخت در جاوا (Isomorphic Word)

در این جلسه تیم کدگیت را با آموزش کلمات همریخت در جاوا (Isomorphic Word) همراهی کنید. پیش نیاز این آموزش شامل موارد زیر است:

  1. آشنایی با hashmap
  2. آشنایی با If
  3. آشنایی با For
  4. آشنایی با متد

کلمات همریخت

دو کلمه را همریخت میگویند اگر بتوان نگاشتی بین آنها یافت. بدین معنا که اگر حروف یکی را جابجا کنیم به کلمه دوم برسیم. با یک مثال ساده این موضوع را شفافتر بیان میکنیم. فرض میکنیم کلمه paper و title را داریم حال میخواهیم بدانیم این دو کلمه همریخت هستند یا خیر؟!! برای این کار نگاشت زیر را انجام میدهیم:

همانطور که میبینید اگر جای حرف t ما p قرار دهیم و جای حروف i و L و e به ترتیب حروف a و e و  r قرار دهیم کلمه title به paper تغییر میکند. باید توجه داشت که همه کلمات چنین قابلیتی ندارند. مثلا کلمه foo و bar. در این دو کلمه هیچ نگاشتی نمیتوان یافت.

کلمات همریخت در جاوا

برای پیاده سازی کلمات همریخت در جاوا ما از hashmap استفاده میکنیم. همانطور که میدانید hashmap یک کلید (key) و یک مقدار (value) نگهداری میکند.روشی که در پیاده سازی کلمات همریخت در جاوا استفاده شده به این صورت است که ما تک به تک حروف هر دو کلمه را میگیریم در hashmap میریزیم. حال اگر به حرفی از کلمه رسیدیم که قبلا در hashmap بوده پس حتما باید مقدار (value) آن با حرف کلمه دوم برابری کند.

اگر به حالتی رسیدیم مقدار(value) در hashmap بود ولی کلید نبود پس این دو کلمه همریخت نمیشوند. کد کلمات همریخت در جاوا به صورت زیر است:

در کد بالا یک متد به نام isIsomorphic نوشته ایم. این متد دو ورودی میگیرد که همان کلمات ما هستند. خروجی این متد یک boolean است و در صورتی که دو کلمه ورودی همریخت باشند true و در غیر این صورت false برگرداند.

تست کلمات همریخت در جاوا

برای تست کدهای بالا، کد main زیر را بزنید:

کد تست شامل 2 متغییر s و t هست. از این دو برای بررسی همریخت بودن استفاده میشود.

پسورد: www.codegate.ir

 

دسته : java, جاوا, حل مسائل با جاوا, ساختمان داده در جاوا

دیدگاه بگذارید

نظر شما چیست؟

مطلع کردن شما از
avatar

wpDiscuz