נתונה המחלקה DigitCount, ולה שתי תכונות:
| התכונה | הסבר |
|---|---|
private int digit; | ערך ספרה (0-9) |
private int count; | מספר מופעים של הספרה |
הניחו שיש פעולות Get ו-Set לתכונות המחלקה.
כמו כן קיימת במחלקה הפעולה הבונה:
public DigitCount(int digit, int count)
{
this.digit = digit;
this.count = count;
}
דוגמה: עבור num=3389920 וגם num=9389302 תוחזר הרשימה (head->tail)
head -> [digit=9,count=2] -> [digit=8,count=1] -> [digit=3,count=2] -> [digit=2,count=1] -> [digit=0,count=1] -> null
ממשו את הפעולה שלפניכם. הפעולה מקבלת מספר שלם חיובי num הגדול מ-0 ומחזירה רשימה מקושרת מסוג DigitCount. עבור כל ספרה (0-9) במספר num יישמר ברשימה עצם מן המחלקה DigitCount שערכיו הספרה עצמה ומספר המופעים שלה במספר num. הרשימה תורכב לפי הכללים: הרשימה ממוינת לפי ערך הספרות בסדר יורד (מהגדולה לקטנה); כל ספרה תופיע פעם אחת בלבד; רק הספרות שמופיעות במספר num יופיעו ברשימה.
public static Node<DigitCount> BuildList (int num)
ממשו את הפעולה שלפניכם. הפעולה מקבלת מספר שלם num הגדול מ-0 ומחזירה את המספר הגדול ביותר שניתן ליצור באמצעות הספרות במספר num, לפי מספר המופעים של כל ספרה. הערה: ניתן להשתמש בפעולה שכתבתם בסעיף א. דוגמה: עבור num=3389920 וגם num=9389302 הפעולה תחזיר את המספר 9983320 -- המספר המקסימלי שניתן ליצור באמצעות שינוי סדר הספרות במספר num.
public static int BuildMaxNum (int num)
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.