שתי רשימות מקושרות שמשתלבות וממשיכות ביחד. צריך למצוא את הקודקוד בו הן מתחברות
תשובות
הוסף תשובה
|
לצפיה בתשובות
ספטמבר 2018
נעבור עם 2 מצביעים, אחד מתחילת כל רשימה, נסמן כל צמת שעברנו בו. כשאחד המצביעים רוצה לסמן צמת שכבר מסומן - זה הקוד המחבר
אוקטובר 2018
אפשר לעשות את זה בלי שינוי ברשימות:
נניח רשימה ראשונה באורך m ושניה באורך n, בלי הגבלת הכלליות n>m
נקודת המגש לא יכולה להיות יותר מ-m צמתים מהסוף. נקח את הרשימה באורך n ונרוץ בה עד לקודקוד שממנו עד הסוף זה אורך m. כעת יש לנו שתי רשימות זהות באורכן, רצים על שתיהן והצומת המשותפת הראשונה היא נקודת החיבור.
אוקטובר 2018
נראה לי התכוונת לומר "נקודת המפגש לא יכולה להיות יותר מm צמתים מההתחלה.."
ראיון ראשון. קיימים 5 שלבים. ראיון ראשון הוא לא טכני אלא שאלות על אלגוריתמים.
שאלות מתוך הראיון
להכניס ערכים מתוך עץ בינארי אל תוך קובץ טקסט כך שלאחר מכן תהיה יכולת לבנות את אותו עץ בדיוק מאותו קובץ - למעשה Serialize and Deserialize. תנאי - לאחר שבנינו את הקובץ, ניתן לפתוח אותו ולבחור ערך כלשהו ומיד לדעת באיזה מקום הערך הזה ממוקם (כלומר מציאת ה-Node מסויים מתוך קובץ חייב להיות עם סיבוכיות (1)O)
ארבעה ראיונות טכנים: ראיון טלפוני, ראיון פרונטלי, עבודת בית ועוד ראיון פרונטלי.
שאלות מתוך הראיון
לכתוב אלגטריתם ומימוש:
בהינתן קלט כתוב תוכנית שתחזיר בכל שלב את 10 החיפושים הכי שכיחים. (כמו שמוצג כשמתחילים לכתוב במנוע חיפוש)
לדוגמה:
עבור הקלט:
"boo"
נתחיל בלהציג את 1- הכי שכיחים עבור "b, אחר כך "bo", אחר כך "boo"
יש מערך של 0 ו1 בלבד. צריך למיין בזמן ליניארי.
אותה שאלה אבל עם 0,1,2.
תשובות
הוסף תשובה
|
לצפיה בתשובות
מרץ 2018
שאלה ראשונה: לשים פוינטר בתחילת המערך ובסוף המערך. בכל איטרציה לבדוק האם הימני מצביע על 1. אם כן לקדם אותו שמאלה. לבדוק האם השמאלי מצביע על אפס אם כן לקדם ימינה. אם שניהם מצביעים על ערכים שגואים עושים swap ומקדמים את שניהם כל אחד בכיוון המתאים.
לפי אותו עיקרון פותרים גם את השאלה השנייה.
אפריל 2018
מחזיקים מערך בגודל 2 (עבור 0 ו1) או בגודל 3(עבור 0 1 ו2) . עוברים על המערך ובכל פעם שנתקלים ב0 , מבצעים ++ לערך במיקום ה[0], אם נתקלים ב1, עושים ++ לערך במיקום ה-[1] . בסיום המנייה, יוצרים מערך חדש בגודל המערך המקומי ועוברים על התאים 0 ו1 במערך ולפיהם פשוט ממקמים את הספרות במערך. (זה נקרא מיון מנייה) .
פברואר 2019
התשובה הראשונה גם לוקחת פחות זמן וגם פחות מקום. מיון מנייה נועד כשיש יותר אפשרויות מאשר 0 או 1
יולי 2019
לגבי 0,1,2:
נחזיק 3 מצביעים: LO,MID,HI
בתחילה: LO=MID=0 ן- HI=N (ארוך המערך)
נעבור על המערך עם המצביע MID עד אשר: MID
אם arr[mid] שווה 0: נחליף את הערכים שבמיקומים LO ן MID ונקדם אותם.
אם זה שווה 1: נקדם את המצביע MID
אם זה שווה 2: נחליף בין הערכים שבמיקומים MID ו HI ונקטין את HI באחד
עוסקת בפיתוח, תכנות, שיווק ומתן זיכיונות למערכות הפעלה למחשבים, פתרונות תוכנה למגזר הפרטי והעסקי ומגוון פלטפורמות משולבות חומרה ותוכנה. בתחום המוצרים ללקוחות משווקת החברה מערכות הפעלה לשרתים, מחשבים אישיים ומחשבי כף יד.