באמצעות לולאה מעבר על כל אברי הרשימה התחלה ועד הסוף, באמצעות 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
יום מיונים שכלל מבחן ו2 ראיונות אח"כ ראיון נוסף ואח"כ ראיון עם מנהל של הקבוצה
שאלות מתוך הראיון
ישנו נגן עם N שירים,אני רוצה לשמוע את כל השירים בסדר אקראי(רנדומלי) כך שלא יווצר מצב שאני אחזור על שיר פעמיים.יש לפתור בO(N) וללא סיבוכיות מקום נוסף.
תשובות
הוסף תשובה
|
לצפיה בתשובות
ספטמבר 2020
הרעיון הוא לבחור כל פעם 2 מקומות רנדומליים ולהחליף בין הערכים שבתאים שלהם (נעשה את זה n פעמים)ככה נקבל מערך של שירים בסדר אקראי, ואת המערך הזה נחזיר
אוקטובר 2020
הבעיה בפתרון הזה שיש סיכוי לכפילות לדעתי עדיף משהו בסגנון
לעשות רנדום בגודל המערך N, לאחר הפעם הראשונה להחליף את השיר הנבחר עם השיר בסוף המערךN-1, באיטרציה הבאה להקטין את הרנדום ב1- לבחור שוב שיר ולשים אותו במקום N-2 וככה עד שעוברים על כל השירים
עוסקת בפיתוח, תכנות, שיווק ומתן זיכיונות למערכות הפעלה למחשבים, פתרונות תוכנה למגזר הפרטי והעסקי ומגוון פלטפורמות משולבות חומרה ותוכנה. בתחום המוצרים ללקוחות משווקת החברה מערכות הפעלה לשרתים, מחשבים אישיים ומחשבי כף יד.