בהנתן מחרוזת הוצא את אורך תת המחרוזת המקסימלי שאין בו חזרות
תשובות
הוסף תשובה
|
לצפיה בתשובות
יוני 2021
נגדיר קבוצה לא ממוינת ומשנה max שיותחל לאפס.
נעבור על כל איברי המחזוזת ונשאל : אם הוא בקבוצה אז נמחק את הקבוצה. בכך מקרה נכניס לקבותה ונקבע את max להיות הערך המקסימלי בין max לבין גודל הקבוצה
ראיון וירטואלי ראשוני של כשעה וחצי ועוד יום ראיונות עם 4 ראיונות רצופים פרונטליים אם עוברים (בגלל קורונה גם הם היו וירטואליים).
בראיון הראשוני שואלים שאלות היכרות ושתי שאלות מקצועית קצרות.
ביום ראיונות בכל ראיון שואלים שתי שאלות מעקרונות המנהיגות של אמזון ושאלה אחת מקצועית.
שאלות מתוך הראיון
1. בהינתן מטריצה m*n המדמה לוח של משחק צוללות ספור את הצוללות.
המטריצה מכילה ערכים בוליאניים וכל צוללת בהכרח מלבנית ואינה נוגעת בחברתה.
2. נתון עץ חיפוש בינארי שבנוסף למבנה הסטנדרטי של כל קודקוד הוא מכיל גם את מספר הקודקודים שמתחתיו.
בהינתן שורש העץ ומספר K החזר את הקודקוד ה K בעץ.
3. ממש את מבנה הנתונים הבא:
init - מאתחל את מבנה הנתונים בגודל נתון
getIndex - החזר אינדקס פנוי
freeIndex - שחרר אינקדס תפוס
4. ממש את מבנה הנתונים הבא (את כל הפעולות ב o(1). מלבד init):
init - מאתחל את מבנה הנתונים בגודל נתון
set - מבצע השמה לאינדקס נתון
get - מחזיר את הערך לאינדקס נתון
setAll - מבצע השמה לכל התאים במבנה הנתונים
5. נזכיר כי בטלפונים החכמים של היום ניתן להקיש ספרות שמתחתיהם אותיות וכך לקבל את שמות אנשי הקשר שמתאימים לרצף הספרות שהוקש. נממש אלגוריתם ומבנה נתונים זה.
ממש את מבנה הנתונים הבא:
init - אתחול
insert - הכנס מילה נתונה למילון
get - החזר את כל המילים המתאימות לרצף ספרות נתון
תשובות
הוסף תשובה
|
לצפיה בתשובות
אפריל 2021
1. ניתן לביצוע במעבר יחיד על כל התאים
2. רקורסיה פשוטה תוך התחשבות בשני הבנים של כל קודקוד
3. האתגר לכתוב ב C ללא שימוש ב map
4. שימוש בחתימות זמן
5. שימוש ב Trie על הספרות
ראיון ראשון:
שאלה 1: למצוא סכום מקסימלי של מספרים עוקבים במערך.
שאלה 2: לבנות אוטומוט לרצף 10110 ואז הוא רוצה שאני אבנה shift register שמקבל את הקלט הזה.
שאלה 3: יש מסך שכל הביטים כבויים וצריך להדליק את כל הביטים. בוחרים מספר רנדומלי בכל פעם ויש פונקציה שמדליקה ביטים.