באמצעות לולאה מעבר על כל אברי הרשימה התחלה ועד הסוף, באמצעות 3 איברים, A מאותחל לראש הרשימה, B לאיבר השני, C לאיבר השלישי.
בכל איטרציה:B-> NEXT = A
A = B
B = C
C = C-> NEXT
בסיום הלולאה,
B-> NEXT = A
HEAD-> NEXT = NULL
HEAD = B
נובמבר 2021
def reverseList(self,head):
prev=None
cur=head
while cur:
nex=cur.next
cur.next=prev
prev=cur
cur=nex
בסוף הלולאה return prev
יש 9 מטבעות כאשר ל8 משקל שווה ורק לאחד מהם משקל קל יותר. איך אפשר תוך 2 שקילות בלבד לדעת מי המטבע עם המשקל השונה?
תשובות
הוסף תשובה
|
לצפיה בתשובות
ספטמבר 2021
מחלקים את 9 המטבעות ל3 קבוצות שבכל קבוצה 3 מטבעות ובשקילה הראשונה שוקלים 2 שלישיות. אם משקלן זהה אז אנחנו יודעים שהמטבע עם המשקל המיוחד בשלישייה השלישית. אם משקל אחת השלישות נמוך מהשנייה אז נדע שהמטבע בשלישיה עם המשקל הנמוך יותר. עכשיו נשקול 2 מטבעות מתוך השלישייה שאנו ייודעים שבה נמצא המפתח. אם שני המפתחות באותו המשקל נדע שהשלישי הוא הקל. ואם יש אחד קל ואחד כבר אז הקל מבניהם הוא המטבע הקל.
נובמבר 2021
נקח מתוך 6 מטבעות מתוך 9 כלומר 3 מטבעות נשארים בצד.
נשקול את שש המטבעות כאשר נחלק אותם שווה בשווה 3 בכל צד.
אם הם שווים -> נחזור ל3 מטבעות בצד ונמדוד שניהם מהם בכל צד (אם הם שווים אז המטבע שנשאר לבד מזויף אחרת נראה במשקל מי מזויף)
אם הם לא שווים -> נלך לחלק שלא שווה ונבצע שקילה נוספת אך נשים מטבע אחד כל צד משלושת המטבעות וישר נבחין מי המטבע המזויף (דומה למקרה של המטבעות הראשונות שהשארנו בצד)
מבחן בית, לאחר מכן ראיון משאבי אנוש ולבסוף 3 ראיונות טכנים
שאלות מתוך הראיון
מימוש תור בעזרת מחסנית
תשובות
הוסף תשובה
|
לצפיה בתשובות
אוקטובר 2021
2 מחסניות
הכנסה(X): מכניסים את X למחסנית ראשונה
הוצאה: *אם מחסנית שניה ריקה- מוציאים את כל מי שבמחסנית הראשונה ומכניסים לשניה (stack2.push(stack1.pop()))
*בסוף מוציאים מהמחסנית השניה ומחזירים
ראיון בסקייפ לאחר ביצוע מבחן בקודליטי. לאחר מכן ויתרתי
שאלות מתוך הראיון
כתוב פעולה שמקבלת מערך של מספרים שלמים ובודקת האם יש שני מספרים במערך שההפרש בינהם הוא אחד בדיוק. מחזירה אמת או שקר.
תשובות
הוסף תשובה
|
לצפיה בתשובות
ספטמבר 2021
פתרון שבהתחלה עשיתי: 2 לולאות for לחפש לכל איבר איבר שההפרש ממנו הוא 1. O(n^2)
לאחר מכן היה לי זמן, אז השתמשתי במיון של המערך ואז חיפשתי בסיבוכיות לינארית ושיפרתי ל nlogn.
אוקטובר 2021
אפשר לבנות hash בגודל המערך, לבצע מעבר יחיד על המערך ובכל פעם להכניס hash[arr[i]], ולאחר מכן לבדוק אם קיים hash[arr[i]+1] or hash[arr[i]-1].
בהנחה שהכנסה/חיפוש בhash הוא O(1) זה אלגוריתם O(n)
עוסקת בפיתוח, תכנות, שיווק ומתן זיכיונות למערכות הפעלה למחשבים, פתרונות תוכנה למגזר הפרטי והעסקי ומגוון פלטפורמות משולבות חומרה ותוכנה. בתחום המוצרים ללקוחות משווקת החברה מערכות הפעלה לשרתים, מחשבים אישיים ומחשבי כף יד.