زیرلیست

زیرلیست

آسان

دستورالعمل‌ها

با توجه به دو فهرست دلخواه A و B، مشخص کنید که:

  • فهرست A با فهرست B برابر است؛ یا
  • فهرست A شامل فهرست B است (A «ابرفهرست» B است)؛ یا
  • فهرست A در فهرست B قرار دارد (A «زیرفهرست» B است)؛ یا
  • هیچ‌کدام از موارد بالا درست نیست، پس فهرست‌های A و B نابرابرند

به‌طور خاص، اگر هر دو فهرست مقادیر یکسانی را به همان ترتیب داشته باشند، فهرست A با فهرست B برابر است. اگر A زیردنباله‌ای پیوسته از مقادیر برابر با B را در خود داشته باشد، فهرست A ابرفهرست B است. اگر B زیردنباله‌ای پیوسته از مقادیر برابر با A را در خود داشته باشد، فهرست A زیرفهرست B است.

مثال‌ها:

  • اگر A = [] و B = [] (هر دو فهرست خالی باشند)، آنگاه A و B برابرند
  • اگر A = [1, 2, 3] و B = []، آنگاه A ابرفهرست B است
  • اگر A = [] و B = [1, 2, 3]، آنگاه A زیرفهرست B است
  • اگر A = [1, 2, 3] و B = [1, 2, 3, 4, 5]، آنگاه A زیرفهرست B است
  • اگر A = [3, 4, 5] و B = [1, 2, 3, 4, 5]، آنگاه A زیرفهرست B است
  • اگر A = [3, 4] و B = [1, 2, 3, 4, 5]، آنگاه A زیرفهرست B است
  • اگر A = [1, 2, 3] و B = [1, 2, 3]، آنگاه A و B برابرند
  • اگر A = [1, 2, 3, 4, 5] و B = [2, 3, 4]، آنگاه A ابرفهرست B است
  • اگر A = [1, 2, 4] و B = [1, 2, 3, 4, 5]، آنگاه A و B نابرابرند
  • اگر A = [1, 2, 3] و B = [1, 3, 2]، آنگاه A و B نابرابرند

testهای کند

یک یا چند مورد از testهای این تمرین با برچسب :slow مشخص شده‌اند، چون ممکن است اجرایشان زمان زیادی ببرد. به همین دلیل، اجراکننده‌ی خودکار test آن‌ها را روی پلتفرم اجرا نمی‌کند. اگر این تمرین را مستقیم روی پلتفرم و در ویرایشگر وب حل می‌کنید، بهتر است به جای آن این تمرین را روی سیستم خودتان دانلود کنید. این کار به شما اجازه می‌دهد همه‌ی testها را اجرا کنید و کارایی راه‌حل خود را بررسی کنید.

ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
Elixir Exercism

آماده‌اید زیرلیست را شروع کنید؟

در Exercism ثبت‌نام کنید تا Elixir را همراه با 58 مفهوم168 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.