נתונה המחלקה DigitCount עם digit (ערך ספרה 0-9) ו-count (מספר מופעים). יש לבנות רשימה מקושרת ממוינת יורד לפי ערך הספרה (buildList), ולהשתמש בה כדי לבנות את המספר המקסימלי האפשרי מהספרות של num (buildMaxNum).
נתונה המחלקה DigitCount עם digit (ערך ספרה 0-9) ו-count (מספר מופעים). יש לבנות רשימה מקושרת ממוינת יורד לפי ערך הספרה (buildList), ולהשתמש בה כדי לבנות את המספר המקסימלי האפשרי מהספרות של num (buildMaxNum).
דוגמה: עבור 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)
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.