פורסם 2013 באפריל 812 שנים יש לכתוב מתודה סטטית בג'אווה המקבלת מצביע לראש רשימה המכילה מעגל, ומצביע לצומת כלשהו בתוך המעגל. המתודה תהפוך את הרשימה לרשימה חסרת מעגלים תוך שמירה על סדר האיברים. היא אינה מחזירה ערך (void).דרישות:*יש להיעזר במתודה סטטית reverseList (אותה אין צורך לממש!) המקבלת מצביע לראש רשימה חד-כיוונית חסרת מעגלים, הופכת את הרשימה ומחזירה את ראש הרשימה ההפוכה.*סיבוכיות זמן O(n) .*ניתן להקצות זיכרון אבל רק בגודל קבוע.*מותר שיטות עזר.בשאלה המקורית אין חיוב להשתמש במתודת הרוורס ולכן הצלחתי לפתור.אבל לפתור בעזרת הרוורס - לא הצלחתי!לכן אני פונה אליכם. אודה לכל רמז/ עצה/ כיוון....
פורסם 2013 באפריל 812 שנים מחבר יש שתי דרכים:האחת, שידרוג של אלגוריתם הצב והארנב שמיועד במקור להוכיח קיום מעגל ברשימה. את השדרוג קיבלתי בפורום אחר ובו מוסיפים צב נוסף וחישוב mod כדי להגיע לתחילת המעגל.השניה, שאני לא בטוחה בה כי לא הרצתי, היא קצת ארוכה ובה מפצלים את הרשימה החל מהצומת הפנימי המוצבע, סופרים צמתים בכל אחת מהרשימות, ומחשבים את נק' המפגש...אבל מכיוון שהשאלה המקורית היא דווקא עם הרוורס, מאוד הייתי רוצה לפתור אותה.תודה מראש!
פורסם 2013 באפריל 812 שנים צריך לשחק עם זה קצת. קודם כל, תחשבי מה לעשות לרשימה כדי שבכלל תוכלי להפעיל עליה את הרוורס, ואחר כך תחשבי מה זה בדיוק עושה לאיברים של הרשימה. אפילו תבני לך רשימה לדוגמה כדי לשחק איתה קצת.
פורסם 2013 באפריל 812 שנים מחבר בוודאי ששיחקתי עם זה. עד שהתייאשתי!זו לא אמורה להיות שאלה קשה. אז או שאני חושבת כבד מדי, או (וזה מאוד לא סביר) שיש טעות רצינית בשאלה.
פורסם 2013 באפריל 812 שנים כשמנתקים את המעגל בנקודה כלשהי, מקבלים שתי רשימות שמתחברות בנקודה מסויימת. תחשבי מה קורה כשמפעילים רוורס על אחת מהן.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.