סיכום – שורות של מקומות ישיבה
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Kotlin של Coddy. שיעור 20 מתוך 63.
אתגר
בינוניהשלימו את freeSeats עם הפרמטרים grid: List<List<Int>>. כל שורה מייצגת מושבים: 0 פירושו פנוי ו-1 פירושו תפוס. החזירו את מספר המושבים הפנויים בכל שורה. השורות יכולות להיות באורכים שונים או ריקות.
אלא אם צוין לעיל טווח צר יותר, אוספים מכילים לכל היותר 100 איברים בכל רמה, והארגומנטים מסוג מספר שלם והערכים באוספים מסוג מספר שלם הם בין -1000 ל-1000. טקסט שסופק לצורך ניתוח יכול לכלול ייצוגים לא תקינים או מחוץ לטווח, כמתואר.
החזירו ערך מסוג List<Int>. השאירו את קוד הקלט/פלט שסופק. הוא קורא ארגומנטים סקלריים, אחד בכל שורה; רשימה מתחילה במספר האיברים שלה ואחריו האיברים, ומפה מתחילה במספר הרשומות שלה ואחריו כל מפתח וערך. רשימות מקוננות חוזרות על התבנית של מספר האיברים והאיברים עבור כל שורה. הפונקציה main שסופקה מדפיסה את ערך ההחזרה ואחריו תו שורה חדשה אחד. רשימות משתמשות בתבנית הסטנדרטית של Kotlin עם סוגריים מרובעים; אל תדפיסו תוויות נוספות.
נסו בעצמכם
fun freeSeats(grid: List<List<Int>>): List<Int> {
// כתבו כאן את הפתרון שלכם.
return emptyList()
}
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)
}
println(freeSeats(grid))
}כל השיעורים ביחידה לוגיקה וזרימת תוכנית
4אוספים מקוננים
רשימות של רשימותמעבר על שורותסיכומים של שורותהשטחת רשימות מקוננותסיכום – שורות של מקומות ישיבה7צינורות עיבוד של אוספים
טרנספורמציה באמצעות Mapסינון ערכיםבדיקת כללי האוסףצבירה באמצעות Foldסיכום – סכומים מאושרים5פרויקט - ספר טלפונים
שמירת אנשי קשרחיפוש אנשי קשרתרגלו בעצמכם: Kotlin אונליין