קלט מערך של מספרים ופלט מערך של מספרים שבכל תא מכפלת האיברים חוץ מהתא הספציפי
תשובות
הוסף תשובה
|
לצפיה בתשובות
מרץ 2024
Prefix/suffix multiplication
מאי 2024
ב - O(N)
להכפיל את כל המספרים במערך, ולמלא את מערך בתוצאת ההכפלה לחלק למספר הנוכחי במערך המקורי
ספטמבר 2024
להזהר מהאפסים.
צריך להיות משהו כזה:
ֿvector function(vector arr)
{
int mult = 0;
list zero_list;
for (int i = 0; i++; i< arr.length)
{
if arr[i] == 0
{
zero_list.add[i];
}
else
mult = mult * arr[i];
}
vector new_arr; // should be zeros at the initlize
if !zero_list.is_empty() {
if zero_list.length() == 1
new_arr[list.get()] = mult;
return new_arr;
}
for (int i = 0; i++; i< arr.length)
{
new_arr[i] = mult / arr[i];
}
return new_arr;
}
שיחה עם המראיין על פי ניסיון קודם, להיכנס קצת לפרטים טכניים. ארכיטקטורה.
* משהו שעשית בעבודה מעבר למחויבות שלך.
* מתישהו שלא עמדת בדרישות. מה היה, איך התמודדת.
שאלות מתוך הראיון
נתון שעון חומרתי יחיד שמקפיץ Interrupt כאשר הוא מגיע ל-0.
יש API שמוגדר: set_time(), get_time(), get_tid(), suspend(), resume
לממש sleep ו-timer_ISR עבור מערכת מרובת תהליכים.
תשובות
הוסף תשובה
|
לצפיה בתשובות
נובמבר 2023
לעשות רשימה מקושרת כאשר בכל Node יש את הזמן שנשאר לכל Thread ואת ה-TID שלו. ואז להכניס Thread-ים חדשים, לנהל את ההכנסה על פי סדר הזמן שנשאר לכל אחד ביחס לקודם שלו. ה-timer_ISR מטפל ב-Thread שצריכים להתעורר ומשחרר מהרשימה המקושרת. ה-Sleep צריך להכניס חדשים בהתאם לזמן שכרגע קיים ב-Tiemr.