מערך דו-ממדי 2x2 נקרא "כתם" אם כל האיברים שלו שווים לאותו ערך. הערך הזה נקרא "צבע הכתם".
מערך דו-ממדי 2x2 נקרא "כתם" אם כל האיברים שלו שווים לאותו ערך. הערך הזה נקרא "צבע הכתם".
לדוגמה: במערך הנתון יש ארבעה "כתמים": שני כתמים של 0, כתם עם של 1 וכתם של 3.
| c0 | c1 | c2 | c3 | c4 | c5 | c6 | c7 | c8 | |
|---|---|---|---|---|---|---|---|---|---|
| r0 | 1 | 3 | 8 | 1 | 2 | 4 | 5 | 0 | 0 |
| r1 | 2 | 0 | 0 | 0 | 4 | 7 | 0 | 0 | 0 |
| r2 | 3 | 3 | 8 | 3 | 1 | 1 | 0 | 0 | 1 |
| r3 | 3 | 3 | 3 | 1 | 1 | 1 | 3 | 1 | 1 |
ארבעת ה"כתמים" (בלוקים 2x2 שווי-ערך, מודגשים בטבלה): כתם 0 ב-(r0-r1, c7-c8); כתם 0 שני ב-(r1-r2, c6-c7) — חופף לכתם הראשון בתא היחיד (r1,c7); כתם 3 ב-(r2-r3, c0-c1); כתם 1 ב-(r2-r3, c4-c5). תואם במדויק את התיאור המילולי בעמוד: "שני כתמים של 0, כתם עם של 1 וכתם של 3".
כתבו פעולה המקבלת מערך דו-ממדי של מספרים שלמים וערך value. הפעולה תבדוק אם במערך קיים "כתם" עם ערך value. אם כן – הפעולה תחזיר true, ולא – הפעולה תחזיר false.
מערך דו-ממדי נקרא "מלוכלך" אם יש בו יותר מ-3 "כתמים" של צבעים שונים. כתבו פעולה המקבלת מערך דו-ממדי של מספרים שלמים חד-ספרתיים (בין 0 ל-9). הפעולה תבדוק אם המערך הוא "מערך מלוכלך". אם כן – הפעולה תחזיר true, ולא – הפעולה תחזיר false.
מהי הסיבוכיות של הפעולות שכתבתם בסעיפים א' ו-ב'? הסבירו את תשובתכם.
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.