שחזורי ראיונות עבודה -> עזרה בפתרון תרגיל מראיון
  • עזרה בפתרון תרגיל מראיון
  • ע"י: קוםיקו
    שלום אני צריך עזרה בפתרון התרגיל הזה נתון מערך מספרים, למצוא את המספר הראשון היחודי (ז"א למצוא את המספר הראשון שנמצא רק פעם אחת במערך). שהפתרון יהיה יעיל מבחינת סיבוכיות זמן וומקום. תודה
  • לפני 8 שנים
    ע"י: 1_אורח_כללי
    התשובה הברורה היא 1. מיון (במידה והמערך לא ממויין) תבחר אחד מהטובים. 2. חיפוש בינארי על המערך לאחר מיון.
  • לאחר הצמצומים אסף בחר שלא לבזבז זמן (=כסף) ופנה לסיוע המקצועי שלנו התהליך שעבר היה כה ממוקד, שלא באמת הופתענו כשסיים אותו עם שתי הצעות מעולות על השולחן. תזכרו, לא משנה איך השוק, זה אף פעם לא זמן טוב לחפש עבודה.
    לבדיקת התאמה
  • לפני 8 שנים
    ע"י: 1_אורח_כללי
    בהנחה שכל מספר מופיע פעמיים ורק המספר הייחודי מופיע פעם אחת. אפשר לרוץ בלולאה אחת על המערך (יעילות זמן (O(N ויעילות מיקום (1)O) כאשר בכל איטרציה מבצעים XOR. ב-Java זה נראה כך: public int f(int[] arr){ int result = 0; for(int i=0; i<arr.length; i++) result ^= arr[i]; //the operator ^ is XOR return result; } אם מריצים את הקוד הנ"ל על המערכים הבאים: int a[] = {4,1,6,2,1,3,4,8,5,7,5,6,7,2,9,8,9} int b[] = {6,-14,6,16,-3,16,-3}; int c[] = {8,8,8,8,7,8,8}; int d[] = {1,2,70,1,2}; int e[] = {9,9,9,9,9,9,9,7,7,5,7,7,9}; התוצאה היא: result of array a = 3 result of array b = -14 result of array c = 7 result of array d = 70 result of array e = 5
  • לפני 15 שנים
    ע"י: 1_אורח_כללי
    א. תמיין O(nlogn ואז זה קל o(1) מקום חוץ מהמערך שלך ב. תוסיף Hash Table ואז מקום o(n) פתרון o(n) החסם התחתון הוא o(n) כי חייבים "לגעת" בכל המספרים אבל יכול להיות שעם טריק כלשהו אפשר לצמצם את המקום לo(1)