הגדרה:
מחסנית של מספרים שלמים וחיוביים נקראת "מחסנית תקינה עבור הספרה K", אם יש לפחות מספר אחד שמתחיל בספרה K וכל המספרים שמתחילים ב-K נמצאים ברצף ולא נמצאים באף מיקום אחר במחסנית.
לדוגמה: המחסנית שלפניכם היא "מחסנית תקינה" עבור הספרות K=2,5,9 אבל לא תקינה עבור ספרות אחרות.
| מחסנית |
|---|
| 31 |
| 307 |
| 2 |
| 2215 |
| 3 |
| 900 |
| 987 |
| 91 |
| 40 |
| 37 |
| 4 |
| 555 |
| 41 |
כתבו פעולה המקבלת מחסנית של מספרים שלמים וחיוביים st וספרה k. הפעולה תבדוק אם מחסנית היא "מחסנית תקינה" עבור ספרה זו. אם כן – הפעולה תחזיר ערך true, ואם לא – הפעולה תחזיר ערך false. כותרת הפעולה:
public static boolean isProperK(Stack<Integer> st, int k)
כתבו פעולה המקבלת מחסנית של מספרים שלמים st וספרה k. הפעולה תבדוק אם המחסנית היא "מחסנית תקינה עבור k". אם כן – הפעולה לא תבצע דבר, ואם לא – הפעולה תשנה את סדר המספרים במחסנית כך שהיא תהיה "תקינה עבור k". אפשר להניח שבמחסנית יש לפחות מספר אחד אשר מתחיל ב-k. כותרת הפעולה:
public static void fixIt(Stack<Integer> st, int k)
מהי סיבוכיות הפעולות שכתבתם בסעיפים א'–ב'? הסבירו את תשובתכם.
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.