مراجعة - الصف الأول الصالح
جزء من قسم المنطق وتدفق التنفيذ في رحلة Kotlin على Coddy. الدرس 45 من 63.
التحدي
متوسطأكمل firstValidRow بالمعاملات grid: List<List<Int>> وminimumTotal: Int. أعد فهرس أول صف لا يحتوي على قيم سالبة ويكون مجموعه على الأقل minimumTotal. الصفوف الفارغة مجموعها صفر ولا تحتوي على قيم سالبة. أعد -1 إذا لم يستوفِ أي صف الشروط.
ما لم تُذكر حدود أكثر تقييدًا أعلاه، تحتوي المجموعات على 100 عنصر كحد أقصى في كل مستوى، وتتراوح الوسائط الصحيحة وقيم المجموعات الصحيحة بين -1000 و1000. قد يتضمن النص المقدَّم للتحليل تمثيلات غير صالحة أو خارج النطاق كما هو موضح.
أعد قيمة من النوع Int. أبقِ على كود الإدخال/الإخراج المقدَّم. يقرأ الوسائط العددية واحدًا في كل سطر؛ وتبدأ القائمة بعدد عناصرها متبوعًا بعناصرها، وتبدأ الخريطة بعدد إدخالاتها متبوعًا بكل مفتاح وقيمة. تكرر القوائم المتداخلة تنسيق العدد والعناصر لكل صف. تطبع main المقدَّمة قيمة الإرجاع متبوعة بسطر جديد واحد. تستخدم القوائم التنسيق القياسي ذي الأقواس المربعة في Kotlin؛ ولا تطبع أي تسميات إضافية.
جرّب بنفسك
fun firstValidRow(grid: List<List<Int>>, minimumTotal: Int): Int {
// اكتب حلك هنا.
return 0
}
fun main() {
val gridCount = readln().toInt()
val grid = mutableListOf<List<Int>>()
for (i0 in 0 until gridCount) {
val gridItemCount = readln().toInt()
val gridItem = mutableListOf<Int>()
for (i1 in 0 until gridItemCount) {
val gridItemItem = readln().toInt()
gridItem.add(gridItemItem)
}
grid.add(gridItem)
}
val minimumTotal = readln().toInt()
println(firstValidRow(grid, minimumTotal))
}جميع دروس المنطق وتدفق التنفيذ
1القواميس، الجزء الأول
إنشاء القواميسالبحث الآمن في القواميستحديث القواميسالتحقق من المفاتيحمراجعة - مكتب الأسهم4المجموعات المتداخلة
قوائم القوائماستعراض الصفوفملخصات الصفوفتسطيح القوائم المتداخلةمراجعة - صفوف المقاعد7مسارات معالجة المجموعات
التحويل باستخدام Mapتصفية القيماختبار قواعد المجموعاتالتجميع باستخدام Foldمراجعة - الإجماليات المعتمدة2الخرائط - الجزء الثاني
التكرار على إدخالات الخريطةالمفاتيح والقيمخرائط التكرارالخرائط المتداخلةمراجعة - تقرير التكرار5مشروع - دفتر جهات الاتصال
حفظ جهات الاتصالالعثور على جهات الاتصال3المجموعات والعضوية
إنشاء المجموعاتتحديث المجموعاتعمليات المجموعاتالتحقق من المجموعة الجزئيةمراجعة - ضيوف الفعالية9تدفق التحكم المتقدم
عبارات الحراسةكسر الحلقات المُعنونةمتابعة الحلقات المُعنونةالدوال التكراريةمراجعة - الصف الأول الصالحتدرّب بنفسك: Playground لـ Kotlin