הראיון עצמו התנהל בצורה נוחה ונעימה עם שאלות לעניין- לא נתנו הרגשה שמנסים להכשיל ולהתקיל
שאלות מתוך הראיון
קיימת פונקציה שמחזירה בכל פעם מספר שלם (INT) וצריך לכתוב פונקציה בוליאנית שקולטת את כל המספרים מהפונקציה עד לקבלת -1, ולהחזיר TRUE אם היה מספר שחזר יותר מפעם אחת.
תשובות
הוסף תשובה
|
לצפיה בתשובות
מאי 2018
הפתרון הכי יעיל- להשתמש בbit map לסימון המספרים שכבר התקבלו- נהפוך ל1 את הביט שמספרו הוא כמו המספר שיתקבל, ואז אם יהיה מצב שבו נתקל בביט שמספרו 1 וקבלנו שוב את המספר שהוא מסמל- נחזיר TRUE.
נשים לב שמבחינת מקום צריך מינימום 2 בחזקת 32 (גודל INT המקסימלי- ולכן זה מספר המספרים השונים המקסימלי שיכול להיות)
יוני 2018
אפשר להשתמש במערך דינאמי של ביטים ובכך נחסוך מקום
ינואר 2020
אולי אפשר להשתמש ב hashset ולבדוק כל פעם אם כבר יש את המספר הזה, אם יש להחזיר TRUE אם אין להוסיף אותו ל hashset ,אם חזר לי -1 ועדיין אני בפונקציה להחזיר FALSE
זה נכון ?
שתי רשימות מקושרות שמשתלבות וממשיכות ביחד. צריך למצוא את הקודקוד בו הן מתחברות
תשובות
הוסף תשובה
|
לצפיה בתשובות
ספטמבר 2018
נעבור עם 2 מצביעים, אחד מתחילת כל רשימה, נסמן כל צמת שעברנו בו. כשאחד המצביעים רוצה לסמן צמת שכבר מסומן - זה הקוד המחבר
אוקטובר 2018
אפשר לעשות את זה בלי שינוי ברשימות:
נניח רשימה ראשונה באורך m ושניה באורך n, בלי הגבלת הכלליות n>m
נקודת המגש לא יכולה להיות יותר מ-m צמתים מהסוף. נקח את הרשימה באורך n ונרוץ בה עד לקודקוד שממנו עד הסוף זה אורך m. כעת יש לנו שתי רשימות זהות באורכן, רצים על שתיהן והצומת המשותפת הראשונה היא נקודת החיבור.
אוקטובר 2018
נראה לי התכוונת לומר "נקודת המפגש לא יכולה להיות יותר מm צמתים מההתחלה.."
עוסקת בפיתוח, תכנות, שיווק ומתן זיכיונות למערכות הפעלה למחשבים, פתרונות תוכנה למגזר הפרטי והעסקי ומגוון פלטפורמות משולבות חומרה ותוכנה. בתחום המוצרים ללקוחות משווקת החברה מערכות הפעלה לשרתים, מחשבים אישיים ומחשבי כף יד.