תרגול מדעי המחשב

הערך הגדול במחסנית

בינוני Java

המשימה

כתוב פעולה שמקבלת מחסנית של מספרים שלמים ומחזירה את הערך הגדול
ביותר שבה — כשבסוף הפעולה המחסנית חוזרת למצבה המקורי, באותו סדר.

אם המחסנית ריקה — החזר 1-.

דוגמה:
  מחסנית [3,9,2] (3 בראש)  →  9, והמחסנית נשארת [3,9,2]

הנחיות:
• אי אפשר לקרוא איבר במחסנית בלי להוציא אותו. הוצא הכול למחסנית עזר,
  ובדרך עקוב אחרי המקסימום.
• שתי העברות מחזירות את הסדר המקורי; העברה אחת בלבד הופכת אותו.
• pop על מחסנית ריקה זורק שגיאת ריצה — בדוק isEmpty לפני.
• אתחל את המקסימום לאיבר הראשון שהוצאת, לא לאפס.

ממשק מבני הנתונים כבר מצורף למשימה.

```ds:stack
{"title":"המחסנית שבדוגמה — המקסימום 9, והיא חייבת להישאר בדיוק כך","items":["2","9","3"]}
```

קוד הפתיחה

public class Main {

    public static int maxStack(Stack<Integer> st) {
        // כתוב את הפתרון כאן — המחסנית חייבת לחזור למצבה המקורי
        return -1;
    }

    public static void main(String[] args) {
        Stack<Integer> st = new Stack<Integer>();
        st.push(2);
        st.push(9);
        st.push(3);

        System.out.println(st);           // [3,9,2]
        System.out.println(maxStack(st)); // 9
        System.out.println(st);           // [3,9,2]  — ללא שינוי

        Stack<Integer> neg = new Stack<Integer>();
        neg.push(-7);
        neg.push(-3);
        System.out.println(maxStack(neg));                   // -3
        System.out.println(maxStack(new Stack<Integer>()));  // -1
    }
}

כדי לכתוב, להריץ ולקבל משוב — התחבר עם חשבון Google. לוקח שנייה.

התרגיל הבא סכום מחסנית בלי לאבד אותה
המשוב נוצר על ידי AI ועשוי לטעות. אם אתה חושב שהפתרון שלך נכון — כנראה שאתה צודק. הציון כאן הוא לתרגול בלבד ואינו מדווח לאיש.
אל תכתוב בקוד פרטים אישיים כמו שם מלא, טלפון או כתובת. הקוד נשלח לשירות בדיקה חיצוני.