שחזורי ראיונות עבודה -> שאלה מראיון ב F5
  • שאלה מראיון ב F5
  • ע"י: דילברט
    You get an array of digits that represent a number. The digits are unique, such that for every index i in the array there is not index j such that the digit in i is the same as the digit in j (unless j=i). You need to write a function that will give the next number (the smallest number that has this property with its digits and the same digits, that is bigger than the given number). If the given number is the largest, then your function should indicate that there is no next number. Examples: * if you get 123 you should return 132 * if you get 4312 you should return 4321 * if you get 12543 you should return 13245 * if you get 21 you cannot return the next number because there is no next number.
  • לפני 10 שנים
    ע"י: 1_אורח_כללי
    מישהו היה בזמן האחרון?
  • משני ראיונות בחודש, ל-9 ראיונות בשבועיים. 2025 מביאה איתה בשורות חדשות לטאלנטים בשוק. כמובן שלא מדובר במקריות אלא בעבודה קשה ומתודה מוכחת!
    לבדיקת התאמה
  • לפני 16 שנים
    ע"י: 1_אורח_כללי
    האלגוריתם שלי : קודם כל לעשות בדיקה אם אפשר ע"י מעבר ספרה ספרה, מהספרה ה LSB ולראות אם הספרה שלפניה גדולה יותר. אם התנאי הזה לא מתקיים אפילו פעם אחת לאורך כל המספר אז אין מספר גדול יותר (בדיקה דיי טריוואלית לדעתי, בעצם אומר שהמספר כתוב מהספרה הגדולה ביותר עד לקטנה ביותר משמאל לימין) מתחילים מה LSB, מחפשים את הספרה הכי קרובה אליה מלמטה. אם לא קיימת אז הולכים לספרת ה LSB הבאה. אם קיימת אז מחליפים בין שתי הספרות (ה LSB וזו שקרובה אליה מלמטה) ובשלב האחרון ממיינים את הספרות הנותרות (משמאל לזו שהוחלפה) בסדר עולה משמאל לימין. דוגמאות : 123 132 4312 4321 12543 13542 13245 21 - לא עומד בתנאי הראשון 1420 2410 2014 2341 2431 2413
  • לפני 16 שנים
    ע"י: 1_אורח_כללי
    נראה לי שהאלגוריתם הבא פותר את הבעיה: קח את הספרה ה least significant ותתחיל לבעבע אותה לצד שמאל, אחרי כל בעבוע בדוק האם המספר שהתקבל גדול מהמספר המקורי. אם הגעת לסוף המספר בלי למצוא מספר גדול מהמספר המקורי, החזר שאין פיתרון, ואחרת, נניח שאחרי k בעבועים הגעת למספר גדול מהמקורי, כלומר כעת בידך מספר שמקיים את התכונה וגדול מהמקורי אבל לא בטוח שהוא הבא כלומר ייתכן שיש מספר קטן יותר. כעת, קח את k הספרות ה least significant ומיין אותן על מנת לקבל את המספר הקטן היותר האפשרי מהן. לדוגמא: עבור המספר 12543, נתחיל לבעבע: 12534 12354 13254 כאן נעצור כי הגענו למספר גדול מהמקורי. k הספרות ה least significant הן 254, נמיין אותן ונקבל לבסוף 13245. אני משאיר לך את הוכחת הנכונות וניתוח סיבוכיות. זה לא נכון קח דוגמא נגדית: קח מספר שנגמר ב0 ותקבל סתירה למשל 1420 לפי השיטה שלך השלבים הם כך: 1402 1042 0142 והגעת שאין מספר יותר גדול מה שבוודאי לא נכון לא שלי יש פתרון שעובד:) תודה
  • לפני 16 שנים
    ע"י: 1_אורח_כללי
    You get an array of digits that represent a number. The digits are unique, such that for every index i in the array there is not index j such that the digit in i is the same as the digit in j (unless j=i). You need to write a function that will give the next number (the smallest number that has this property with its digits and the same digits, that is bigger than the given number). If the given number is the largest, then your function should indicate that there is no next number. Examples: * if you get 123 you should return 132 * if you get 4312 you should return 4321 * if you get 12543 you should return 13245 * if you get 21 you cannot return the next number because there is no next number. תגיד איך הגעת אליהם ולאיזה תפקיד אתה מועמד? תודה
  • לפני 16 שנים
    ע"י: 1_אורח_כללי
    נראה לי שהאלגוריתם הבא פותר את הבעיה: קח את הספרה ה least significant ותתחיל לבעבע אותה לצד שמאל, אחרי כל בעבוע בדוק האם המספר שהתקבל גדול מהמספר המקורי. אם הגעת לסוף המספר בלי למצוא מספר גדול מהמספר המקורי, החזר שאין פיתרון, ואחרת, נניח שאחרי k בעבועים הגעת למספר גדול מהמקורי, כלומר כעת בידך מספר שמקיים את התכונה וגדול מהמקורי אבל לא בטוח שהוא הבא כלומר ייתכן שיש מספר קטן יותר. כעת, קח את k הספרות ה least significant ומיין אותן על מנת לקבל את המספר הקטן היותר האפשרי מהן. לדוגמא: עבור המספר 12543, נתחיל לבעבע: 12534 12354 13254 כאן נעצור כי הגענו למספר גדול מהמקורי. k הספרות ה least significant הן 254, נמיין אותן ונקבל לבסוף 13245. אני משאיר לך את הוכחת הנכונות וניתוח סיבוכיות.