Menu
Coddy logo textTech

פעולות על קבוצות

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Kotlin של Coddy. שיעור 13 מתוך 63.

איחוד משאיר את האיברים שנמצאים באחת הקבוצות או בשתיהן, חיתוך משאיר את האיברים המשותפים, וחיסור משאיר את האיברים מהקבוצה הראשונה שאינם נמצאים בקבוצה השנייה. פעולות אלה מחזירות קבוצות חדשות; החיסור תלוי בסדר האופרנדים.

בתוך main:

val a = setOf(1, 2, 3)
val b = setOf(2, 4)
println(a.intersect(b).sorted())

רק 2 מופיע בשתי הקבוצות.

חיתוך משאיר את האיברים המשותפים; חיסור הוא פעולה כיוונית.

challenge icon

אתגר

בינוני

השלם את sharedItems עם הפרמטרים first: List<Int>, second: List<Int>. החזר מספרים שלמים ייחודיים שמופיעים בשתי הקלטות, ממוינים בסדר עולה.

אלא אם צוינו למעלה גבולות מחמירים יותר, האוספים מכילים לכל היותר 100 איברים בכל רמה, והארגומנטים השלמים והערכים השלמים באוספים הם בין -1000 ל-1000. טקסט המסופק לניתוח עשוי לכלול ייצוגים לא תקינים או מחוץ לטווח, כמתואר.

החזר ערך מטיפוס List<Int>. השאר את קוד הקלט/פלט שסופק. הוא קורא ארגומנטים סקלריים, אחד בכל שורה; רשימה מתחילה במספר האיברים שלה ואחריו איבריה, ומפה מתחילה במספר הרשומות שלה ואחריו כל מפתח וערך. רשימות מקוננות חוזרות על התבנית של מספר איברים ואחריו האיברים עבור כל שורה. ה-main שסופק מדפיס את הערך המוחזר ואחריו תו שורה חדשה. רשימות משתמשות בתבנית הרגילה של Kotlin עם סוגריים מרובעים; אל תדפיס תוויות נוספות.

נסו בעצמכם

fun sharedItems(first: List<Int>, second: List<Int>): List<Int> {
    // כתבו כאן את הפתרון שלכם.
    return emptyList()
}
fun main() {
    val firstCount = readln().toInt()
    val first = mutableListOf<Int>()
    for (i0 in 0 until firstCount) {
        val firstItem = readln().toInt()
        first.add(firstItem)
    }
    val secondCount = readln().toInt()
    val second = mutableListOf<Int>()
    for (i0 in 0 until secondCount) {
        val secondItem = readln().toInt()
        second.add(secondItem)
    }
    println(sharedItems(first, second))
}
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה לוגיקה וזרימת תוכנית

תרגלו בעצמכם: Kotlin אונליין