باحث الأنماط
جزء من قسم الأساسيات في رحلة Kotlin على Coddy. الدرس 92 من 93.
التحدي
متوسطاكتب دالة findPattern تأخذ text وpattern وتُرجع فهرس البداية لأول ظهور للنمط داخل النص.
ابحث في النص للعثور على الموضع الذي يظهر فيه النمط أولًا. إذا عثرت عليه، فأرجِع فهرس بدايته المعتمد على الصفر. إذا لم يكن النمط موجودًا في النص، فأرجِع -1.
المنطق:
- كرّر العملية عبر مواضع البداية المحتملة في النص
- في كل موضع، تحقّق مما إذا كانت السلسلة الفرعية تطابق النمط
- أرجِع الفهرس فور العثور على تطابق
- إذا لم يتم العثور على تطابق بعد التحقق من جميع المواضع، فأرجِع
-1
المعاملات:
text(String): النص الذي سيتم البحث داخلهpattern(String): النمط المطلوب العثور عليه
القيمة المُرجعة: الفهرس المعتمد على الصفر للموضع الذي يظهر فيه النمط أولًا، أو -1 إذا لم يتم العثور عليه (Int)
قيود الإدخال: يطابق النمط الفارغ عند الفهرس 0. لا يوجد تطابق لنمط أطول من النص.
جرّب بنفسك
fun findPattern(text: String, pattern: String): Int {
// اكتب الكود هنا
}
جميع دروس الأساسيات
4العوامل - الجزء الأول
العوامل الحسابيةعامل باقي القسمةالإسناد المُعزَّزعوامل المقارنةمراجعة - الرياضيات البسيطة7أساسيات الإدخال والإخراج
دالة Printlnقوالب السلاسل النصيةإدخال ReadLineتحويل النوعمراجعة - السنوات حتى التقاعدمراجعة - صواب أم خطأ10الدوال
تعريف دالةالمعاملات والوسائطالقيم المُعادةالوسائط المُسمّاةالقيم الافتراضيةالدوال ذات التعبير الواحدمراجعة - دالة سيغمامراجعة - دالة التحقق2المتغيرات
val مقابل varاستنتاج النوعالأعدادالسلسلة النصيةالقيمة المنطقيةاصطلاحات التسميةمراجعة - تهيئة المتغيرات5المعاملات الجزء 2
المعاملات المنطقية الجزء 1المعاملات المنطقية الجزء 2المعاملات المنطقية الجزء 3المعامل الثلاثي مع تعبير Ifمراجعة - المنطق البسيط8حاسبة تقسيم الفاتورة
رسالة ترحيبيةالحصول على الإدخال3القابلية للقيمة الفارغة
ما هو الأمان من القيم الفارغةالأنواع القابلة للقيمة الفارغةعامل الاستدعاء الآمنعامل Elvisأساسيات تحدي الدوالتأكيد عدم كون القيمة فارغةمراجعة - الوصول الآمن9الحلقات
حلقة Forحلقة Whileحلقة Do-WhileBreakContinueالنطاقات في الحلقاتالحلقة المتداخلةمراجعة - المضروبمراجعة - الإدخال الديناميكيتدرّب بنفسك: Playground لـ Kotlin