אתגר
-
צור מבנה נתונים שמאפשר בפקודה אחת לעדכן את הערך של כל האיברים
הכיוון הוא ליצור Type לאלמנט ולהחזיק/לזכור משהו שיאפשר לחסוך את הלולאה.. -
@אבי אם מותר לכתוב מחלקת רשימה מקושרת, עם מתודה בסגנון SetMeAndMySon אז אז אפשר בקריאה לפונקציה של האיבר הראשון לקבוע את כולם. זה טריק שלא נשמע לי שונה מלולאה.
אחרי שבירת ראש ארוכה (בתנאי שלא להיעזר בגוגל)
המסקנה היא שטכנית כדי לעדכן ערכים של כמה איברים אין מנוס מלהגיע למיקום של כל אחד ואחד מהם בזיכרון, לכן זה יעבוד רק אם כולם מצביעים למופע אחד ומשנים אותו, אבל אז כל האיברים שווים לאותו ערך, ואי אפשר לקרוא לזה מערך...
מה שכן יכול להיות זה לא לשנות באמת את הערכים אלא ליצור תנאי שאם משתנה X שווה Y, תחזיר לי את הערך V, ואז כשמשנים את X, כל האיברים יחזירו אותו ערך או משהו דינמי אחר בהתאם, אבל זה לא באמת משנה את הערכים של המערך בזיכרון המחשב... -
עכשיו אני רואה את השאלה ב stackoverflow
השאלה הנכונה היא איך לעדכן את כל הערכים ב O(1).
מציעים שם פיתרון עם משתנה שמכיל את הזמן של העדכון האחרון, ותנאי שבודק אם כבר עבר הזמן הזה ומחזיר את הערך ה"מעודכן", זה מימוש נחמד לאפשרות השניה שכתבתי, אבל שוב, זה לא באמת משנה את הערכים של המערך בזיכרון המחשב (חוץ משאר הבעיות שמוזכרות שם). -
עכשיו אני רואה את השאלה ב stackoverflow
השאלה הנכונה היא איך לעדכן את כל הערכים ב O(1).
מציעים שם פיתרון עם משתנה שמכיל את הזמן של העדכון האחרון, ותנאי שבודק אם כבר עבר הזמן הזה ומחזיר את הערך ה"מעודכן", זה מימוש נחמד לאפשרות השניה שכתבתי, אבל שוב, זה לא באמת משנה את הערכים של המערך בזיכרון המחשב (חוץ משאר הבעיות שמוזכרות שם). -
צור מבנה נתונים שמאפשר בפקודה אחת לעדכן את הערך של כל האיברים
הכיוון הוא ליצור Type לאלמנט ולהחזיק/לזכור משהו שיאפשר לחסוך את הלולאה.. -
אחרי שבירת ראש ארוכה (בתנאי שלא להיעזר בגוגל)
המסקנה היא שטכנית כדי לעדכן ערכים של כמה איברים אין מנוס מלהגיע למיקום של כל אחד ואחד מהם בזיכרון, לכן זה יעבוד רק אם כולם מצביעים למופע אחד ומשנים אותו, אבל אז כל האיברים שווים לאותו ערך, ואי אפשר לקרוא לזה מערך...
מה שכן יכול להיות זה לא לשנות באמת את הערכים אלא ליצור תנאי שאם משתנה X שווה Y, תחזיר לי את הערך V, ואז כשמשנים את X, כל האיברים יחזירו אותו ערך או משהו דינמי אחר בהתאם, אבל זה לא באמת משנה את הערכים של המערך בזיכרון המחשב... -
@אבי בקיצור נכון לעכשיו התשובה שלי היא שאין כזאת אפשרות.
התשובות שמבוססות על ערך אלטרנטיבי משותף לכל האיברים הוא מבחינתי לא תשובה.הוא מבחינתי לא תשובה.
גם מבחינתי לא, זה אפילו לא טריק, פשוט רמאות
באותה מידה אפשר לכתוב בכל מקום בקוד שאחרי השעה X (או כל תנאי אחר) אל תחזיר את ערכי המערך אלא ערך Y..
אבל מה נעשה שלזה התכוון המשורר - המראיין, ומבחינתו זו התשובה הנכונה בגלל שלא אמור להיות אכפת לי איך עובד המבנה נתונים, רק שתהיה אפשרות שנקראת SetAll והיא משנה בפקודה אחת את הנתונים של המבנה