פורסם 2011 במרץ 1714 שנים :כניסה איבר: אדם חדש יכנס בראש הרשימה . הותיק ביותר יהיה בראש.הוצאת איבר: עוברים מתחילת הרשימה לסוף. מסמנים תחילה ב-max את האדם הראשון. מתקדמם ברשימה וכל איבר בעל מידת כעס שווה או גדולה לראשון יסומן כ-max . בסוף נוציא את האיבר ה-max אבל רק אחרי שנבדוק אם הnext שלו הוא לא null כי אז צריך להגדיל את הכעס של כולם ב-1.נתקעתי בשלה הארון בו צריך להגדיל את הכעס של כל האנשים ב-k .
פורסם 2011 במרץ 1714 שנים זה דורש טריק קטן, וזה באמת לא קשור למבנה הנתונים שאתה משתמש בו.תזכור שאם באמת לכל אדם בתור יש משתנה יחיד שמייצג את מידת הכעס שלו, אז הדרך היחידה שלך לשנות את מידת הכעס של כולם היא לעבור על כל האנשים, מה שלא יכול להתבצע בזמן קבוע. תחשוב איך לשפר קצת את המימוש של מידת הכעס שיאפשר את זה.
פורסם 2011 במרץ 1714 שנים מחבר אוקיי..אז חשבתי לשמור משתנה כללי לכל האנשים בתור כך שכל פעם שצריך להעלות את הרמה של כולם המשתנה יתעדכן שם.ובעצם מידת הכעס של כל אחד תהיה מידת הכעס הפרטית שלו+הציבורית.כל פעם שיכנס אדם חדש לתור מידת הכעס שלו תהיה מידת הכעס הציבורית כפול מינוס 1.אם יש הצעה טובה יותר אשמח לשמוע.תודה
פורסם 2011 במרץ 1714 שנים זה בדיוק הפתרון, חוץ מזה:כל פעם שיכנס אדם חדש לתור מידת הכעס שלו תהיה מידת הכעס הציבורית כפול מינוס 1.לא התייחסת ל-k של האיש שנכנס.
פורסם 2011 במרץ 1714 שנים מחבר אממ..לא כ"כ הבנתי למה התכוונת.אדם נכנס עם רמת כעס 0 ואז נגדיר את מידת הכעס שלו להיות מידת הכעס הציבורית כפול מינוס אחת.בפועל מידת הכעס שלו(אם נרצה לדוגמא להחזיר את מידת הכעס שלו או של כל אחד אחר) זה יהיה מידת הכעס הפרטית+מידת הכעס הציבורית.כך שבעצם אדם שרק נכנס לתור יהיה לו 0 (אם נחבר את הכעס הפרטי ליבורי..)
פורסם 2011 במרץ 1814 שנים מחבר אה..התעלמתי מהעובדה שהוא יכול להיכנס אעם רמת כעס גדולה -0. אז רק לראות שאני לא מפספסת עוד משהו:כל אדם שנכנס לתור נגדיר את רמת כעסו כ-k ההתחלתי שאיתו נכנס מינוס מידת הכעס המשותפת. ואז רמת הכעס של כל אדם תהיה שלו+המשותפת.הפעם נכון?
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.