יש לך מערך עם כדורים אדומים, צהובים וירוקים. אתה צריך לסדר אותו כך שכל הכדורים האדומים יהיו בהתחלה וכל הכדורים הירוקים יהיו בסוף. אין לך שטח זיכרון נוסף להשתמש בו.
יש לך רשימה מקושרת. כתוב פונקציה שהופכת אותה.
תשובות
הוסף תשובה
|
לצפיה בתשובות
פברואר 2022
תשובה לשאלה 1
שלב ראשון – נעביר את כל הכדורים האדומים לתחילת המערך:
נחזיק אינדקס A שמצביע על תחילת המערך ואינדקס B שמצביע על סוף המערך.
נקדם את אינדקס A לכיוון סוף המערך, עד שניתקל בכדור שאינו אדום.
נקדם את אינדקס B לכיוון תחילת המערך, עד שניתקל בכדור אדום.
אם אינדקס A עבר את אינדקס B, נעצור את האלגוריתם.
נחליף בין הכדורים שמוצבעים ע"י האינדקסים.
נחזור על התהליך (החל מסעיף 2).
שלב שני – באופן דומה, נעביר את כל הכדורים הירוקים לסוף המערך...
ראיון ראשון, שני והשלב האחרון הוא שלב של הצעת העבודה.
שאלות מתוך הראיון
יש לרשום פונקציה שמקבלת בייט ומחזירה את השיקוף שלו.
למשל: קלט: 11010111 פלט: 11101011
בזמן O(n)
בזמן O(1) בהינתן זיכרון נוסף
תשובות
הוסף תשובה
|
לצפיה בתשובות
פברואר 2022
ב o(n) לעבור על המספר ולשמור את הספרות בצורה הבאה:
char reverse_byte(char byte)
{
char reverse;
while(byte)
{
reverse |= byte & 1;
byte = byte >> 1;
reverse = << 1;
}
return reverse;
}
ב o(1) - הרעיון הוא לשמור את כל השיקופים של כל המספרים האפשריים, כיוון שמדובר בבייט אחד, כמות המספרים שנכנסים בו היא 256 (0-255), נשמור מראש מערך עם 256 מקומות כאשר בכל מקום יופי השיקוף של המספר. וכך נוכל להחזיר את השיקוף בפעולה אחת.
נתונה מערכת מסויימת , שמשדרת מידע למערכת אחרת , המידע הזה נתון עם סיגנל בינארי שמסמן אם המידע חוקי או לא , לא ניתן לדעת מתי מערכת ראשונה שולחת מידע ומתי מערכת שנייה מקבלת מידע ייתכן ויש דילאי אי אפשר לדעת , אבל מתבקש ממני לבדוק האם המידע מגיע חוקי / משתבש בדרך
תשובות
הוסף תשובה
|
לצפיה בתשובות
מרץ 2022
להשוות בין מה שנשלח למה שהתקבל בהנחה שהסימן לגבי המידע הוא חוקי
יש לך 10 שקים כל שק מכיל כמות לא ידועה של מטבעות.
9 שקים מכילים מטבעות של 10 גרם ושק אחד מטבעות של 9 גרם.
יש לך משקל דיגיטלי ושקילה אחת.
תמצא את השק עם המטבעות המזויפים.(מותר לך לקחת כמה מטבעות שאתה רוצה מכל שק)
תשובות
הוסף תשובה
|
לצפיה בתשובות
פברואר 2022
לשים מטבע אחד מהשק הראשון, שניים מהשני. שלושה מהשלישי… עשרה מהעשירי.
לפי שארית החלוקה בעשר של המשקל שיצא נדע מאיזה שק בחרנו את המזויפים
אינטל הוא תאגיד בינלאומי אמריקאי, אשר ידוע בעיקר כמתכנן ויצרן של מיקרו־מעבדים (החל משנת 1971) ומתמחה במעגלים משולבים. כמו כן, אינטל מייצרת כרטיסי רשת, מערכות שבבים ללוחות אם, והתקנים אחרים.