التحقق من المجموعة الجزئية
جزء من قسم المنطق وتدفق التنفيذ في رحلة Kotlin على Coddy. الدرس 14 من 63.
يتحقق available.containsAll(required) مما إذا كان كل عضو مطلوب متاحًا. لا تتطلب الإدخالات المكررة في قائمة المتطلبات نسخًا متعددة، لأن هذا فحص للعضوية. تكون مجموعة المتطلبات الفارغة محتواة دائمًا.
داخل main:
val available = setOf("pen", "pad")
println(available.containsAll(listOf("pen", "pen")))يتطلب كلا الشرطين العضوية نفسها، وهي متاحة.
يتحقق containsAll من العضوية، وليس من عدد النسخ المتاحة.
التحدي
متوسطأكمل canCover باستخدام المعاملات available: List<String> وrequired: List<String>. أعد ما إذا كان كل عنصر مطلوب موجودًا ضمن العناصر المتاحة. هذه مسألة عضوية، وليست مسألة كمية.
ما لم تُذكر حدود أكثر صرامة أعلاه، تحتوي المجموعات على 100 عنصر كحد أقصى في كل مستوى، وتكون المعاملات الصحيحة وقيم المجموعات الصحيحة بين -1000 و1000. يمكن أن تتضمن النصوص المقدمة للتحليل تمثيلات غير صالحة أو خارج النطاق كما هو موضح.
أعد قيمة من النوع Boolean. أبقِ كود الإدخال/الإخراج المقدم كما هو. يقرأ الوسائط العددية واحدًا في كل سطر؛ تبدأ القائمة بعدد عناصرها متبوعًا بعناصرها، وتبدأ الخريطة بعدد إدخالاتها متبوعًا بكل مفتاح وقيمة. تكرر القوائم المتداخلة تنسيق العدد والعناصر لكل صف. تطبع main المقدمة قيمة الإرجاع متبوعة بسطر جديد واحد. تستخدم القوائم التنسيق القياسي المحاط بأقواس في Kotlin؛ ولا تطبع أي تسميات إضافية.
تنسيق الإخراج المطلوب:
جرّب بنفسك
fun canCover(available: List<String>, required: List<String>): Boolean {
// اكتب حلك هنا.
return false
}
fun main() {
val availableCount = readln().toInt()
val available = mutableListOf<String>()
for (i0 in 0 until availableCount) {
val availableItem = readLine().orEmpty()
available.add(availableItem)
}
val requiredCount = readln().toInt()
val required = mutableListOf<String>()
for (i0 in 0 until requiredCount) {
val requiredItem = readLine().orEmpty()
required.add(requiredItem)
}
println(canCover(available, required))
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس المنطق وتدفق التنفيذ
1القواميس، الجزء الأول
إنشاء القواميسالبحث الآمن في القواميستحديث القواميسالتحقق من المفاتيحمراجعة - مكتب الأسهم4المجموعات المتداخلة
قوائم القوائماستعراض الصفوفملخصات الصفوفتسطيح القوائم المتداخلةمراجعة - صفوف المقاعد7مسارات معالجة المجموعات
التحويل باستخدام Mapتصفية القيماختبار قواعد المجموعاتالتجميع باستخدام Foldمراجعة - الإجماليات المعتمدة2الخرائط - الجزء الثاني
التكرار على إدخالات الخريطةالمفاتيح والقيمخرائط التكرارالخرائط المتداخلةمراجعة - تقرير التكرار5مشروع - دفتر جهات الاتصال
حفظ جهات الاتصالالعثور على جهات الاتصال3المجموعات والعضوية
إنشاء المجموعاتتحديث المجموعاتعمليات المجموعاتالتحقق من المجموعة الجزئيةمراجعة - ضيوف الفعاليةتدرّب بنفسك: Playground لـ Kotlin