יש לך מערך עם כדורים אדומים, צהובים וירוקים. אתה צריך לסדר אותו כך שכל הכדורים האדומים יהיו בהתחלה
וכל הכדורים הירוקים יהיו בסוף. אין לך שטח זיכרון נוסף להשתמש בו.
תשובות
הוסף תשובה
|
לצפיה בתשובות
אוקטובר 2020
שלב ראשון – נעביר את כל הכדורים האדומים לתחילת המערך:
שמצביע על סוף המערך. B שמצביע על תחילת המערך ואינדקס A 1. נחזיק אינדקס
לכיוון סוף המערך, עד שניתקל בכדור שאינו אדום. A 2. נקדם את אינדקס
לכיוון תחילת המערך, עד שניתקל בכדור אדום. B 3. נקדם את אינדקס
נעצור את האלגוריתם. ,B עבר את אינדקס A 4. אם אינדקס
5. נחליף בין הכדורים שמוצבעים ע"י האינדקסים.
.) 6. נחזור על התהליך )החל מסעיף 2
שלב שני – באופן דומה, נעביר את כל הכדורים הירוקים לסוף המערך...
.O(1) – סיבוכיות זיכרון ,O(N) – סיבוכיות זמ
חבר שם את הקו"ח במאגר של החברה, פנו אליי לאחר שהגשתי קו"ח למס' משרות.
שאלות מתוך הראיון
נתונים אלף מטבעות ועשרה שקים.
יש לסדר את המטבעות בכל השקים כך שיהיה ניתן לתת סכום מדוייק למי שמבקש.
למשל, מגיע אדם המבקש 644 מטבעות, יש לתת לו את שק אחד או מספר שקים שבהם בוודאות יש את כמות המטבעות שהוא רוצה.
חידוד - חלוקת המטבעות לשקים נעשית לפני הבקשה לכמות מסוימת.
תשובות
הוסף תשובה
|
לצפיה בתשובות
אוקטובר 2020
מחלקים את המטבעות בשקים כמו בייצוג של מספר בינארי.
1, 2, 4, 8, 16, 32, 64, 128, 264, 512
כך אם אדם מבקש 644 מטבעות ניתן לו את השקים של 512+128+4 והוא יקבל את מבוקשו
מרץ 2021
התשובה האחרונה לא נכונה כי יש רק 1000 מטבעות ולא יותר.
התשובה הנכונה היא חלוקה כזאת:
1, 2, 4, 8, 16, 32, 64, 128, 256, 489.
אינטל הוא תאגיד בינלאומי אמריקאי, אשר ידוע בעיקר כמתכנן ויצרן של מיקרו־מעבדים (החל משנת 1971) ומתמחה במעגלים משולבים. כמו כן, אינטל מייצרת כרטיסי רשת, מערכות שבבים ללוחות אם, והתקנים אחרים.