שחזורי ראיונות עבודה -> עזרה בפתרון תרגיל מראיון
  • עזרה בפתרון תרגיל מראיון
  • ע"י: קוםיקו
    שלום אני צריך עזרה בפתרון התרגיל הזה נתון מערך מספרים, למצוא את המספר הראשון היחודי (ז"א למצוא את המספר הראשון שנמצא רק פעם אחת במערך). שהפתרון יהיה יעיל מבחינת סיבוכיות זמן וומקום. תודה
  • לפני 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)