אתם מתרגלים שאלה מתוך מה"ט אלגוריתמיקה ותכנות — הנדסאי תוכנהמבחן 2021 · קיץ מועד א · שאלה 11כל שאלות המבחן ←
תכנות בסיסימערכים חד-ממדיים

נתונות ההגדרות הבאות: המערך a נקרא "חיתוך" (intersection) של שני המערכים b ו-c אם הוא כולל את כל הערכים הקיימים גם במערך b וגם במערך c. כל ערך מופיע במערך חיתוך פעם אחת בלבד, אין חשיבות לסדר הערכים. לדוגמה: המערך a={1,3,5,10} הוא "חיתוך" של המערכים b={3,9,1,10,2,10,5} ו-c={1,3,4,10,5,7,5,1,100,7}. שני מערכים נקראים "זרים" אם אין להם אף מספר משותף אחד (אין אף מספר שנמצא בשני המערכים). לדוגמה: המערכים a={1,2,3,4} ו-b={6,7,8,9,10} הם מערכים "זרים".

סעיף א

כתבו פעולה המקבלת שני מערכים של מספרים שלמים חיוביים דו-ספרתיים ומחזירה את מערך ה"חיתוך" שלהם.

public static int[] intersect(int[] b, int[] c)

סעיף ב

כתבו פעולה המקבלת שני מערכים של מספרים שלמים חיוביים דו-ספרתיים ובודקת אם הם "זרים". אם כן — הפעולה תחזיר true, ולא — הפעולה תחזיר false. חובה להשתמש בפעולה שכתבתם בסעיף א'.

public static boolean areStrangers(int[] a, int[] b)

סעיף ג

מהן סיבוכיות זמן הריצה של הפעולות שכתבתם בסעיפים א' ו-ב'? הסבירו את תשובתכם.

שאלות ותגובות על השאלה

🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות

שאלו כאן — ותקבלו מענה מוסמך.

🎓 מרצה לתכנות עונה כאן — תקבלו מענה מקצועי