ריאיון אישי טלפוני קצר בן רבע שעה ולאחר מכן מבחן בית עם הגבלת זמן של חצי שעה
שאלות מתוך הראיון
ממש מחסנית עם פעולת push pop ופעולת min המחזירה את האיבר המינימלי במחסנית, כל הפעולות הנ"ל עם זמן ריצה O(1)
תשובות
הוסף תשובה
|
לצפיה בתשובות
אוגוסט 2019
להחזיק בנוסף למחסנית מחסנית נוספת ששומרת את הערך המינימלי עבור כל הכנסה/הוצאה
כלומר אם במחסנית הערך המינימלי הוא 6 יהיה 6 בראש מחסנית המינימום.
בהכנסה של 12 נכניס למחסנית מינימום את הקטן בין 12 ו 6
בהכנסה של 3 נכניס למחסנית המינימום את הקטן בין 3 ו 6
בכל רגע נתון כאשר יבקשו לקבל את הערך המינימלי נחזיר את הערך שבראש מחסנית המינימום שלנו
ראיון ראשון שאלות ממבני נתונים ללא דגש על כתיבת קוד
שאלות מתוך הראיון
נתון מערך של מספרים כתוב פונקציה שתחשב עבור כל מקום במערך את מכפלת כל האיברים במערך חוץ ממנו. אין להשתמש בפעולת חילוק. סיבוכיות לינארית
תשובות
הוסף תשובה
|
לצפיה בתשובות
אוקטובר 2019
אפשר להשתמש במבנה נתונים מחסנית.
תחילה, נחשב את מחלפת האיברים מהאיבר האחרון ועד האיבר השני ברשימה, כך שבכל פכם שאנחנו מכפילים במספר חדש, נשמור את המכפלה הזמנית במחסנית.
לאחר נתחזק מכפלה נוספת X (שתאותחל לערך 1) ולכל אינדקס i מ 0 ועד גודל הרשימה (לא כולל) נקבע שהערך במקום הi ברשימה שנחזיר יהיה X כפול הערך שבראש המחסנית.
לאחר מכן נעדכן את X להיות המכלפה של עצמו עם האיבר במקום הi ברשימה, ונסיר את האיבר בראש המחסנית.
ראיון טלפוני וראיון במחשב של 3 שאלות במשך חצי שעה
צריך לכתוב קוד בכל שפה שרוצים ולהסביר על הלוגיקה שלו
שאלות מתוך הראיון
לממש מחסנית עם פעולות push, pop, getmin בזמן ריצה של קבוע לכל הפעולות
תשובות
הוסף תשובה
|
לצפיה בתשובות
אפריל 2018
יש הרבה פיתרונות לזה :
אפשר עם מחסנית עזר, אפשר עם רשימה מקושרת. הם עומדים בזמן הריצה אבל יקרים קצת מבחינת סיבוכיות מקום. יש פיתרון מיוחד שסיבוכויות המקום שלו היא גם בזמן קבוע
דצמבר 2019
בפתרון ההוא הסיבוכיות מקום שלו שווה לאחרים. אם אתה מתכוון לפתרון שמשתמש באותה מחסנית רק שכל פעם דוחפים פעמיים את המינימום. הוא יכול להיות טוב אם אומרים לך שאסור להשתמש במבנה נתונים נוסף
אוקטובר 2020
פתרון ב- (O(1 מקום נוסף:
https://www.geeksforgeeks.org/design-a-stack-that-supports-getmin-in-o1-time-and-o1-extra-space/