יש שלושה קופסאות עם 2 כדורים בכול כדור. כד 1 שתי כדורים לבנים כד 2 שתי כד ווריםמשחורים
כד 3 אחד לבן אחד שחור
על כול כד רשום מה יש אבל בהכרח זה לא נכון
איך על ידי הוצאת כדור 1 מגלים מ. יד בכדים
/* a node of the doubly linked list */
struct Node {
int data;
struct Node* next;
struct Node* prev;
};
/* Function to delete a node in a Doubly Linked List.
head_ref --> pointer to head node pointer.
del --> pointer to node to be deleted. */
void deleteNode(struct Node** head_ref, struct Node* del)
{
/* base case */
if (*head_ref == NULL || del == NULL)
return;
/* If node to be deleted is head node */
if (*head_ref == del)
*head_ref = del->next;
/* Change next only if node to be deleted is NOT the last node */
if (del->next != NULL)
del->next->prev = del->prev;
/* Change prev only if node to be deleted is NOT the first node */
if (del->prev != NULL)
del->prev->next = del->next;
/* Finally, free the memory occupied by del*/
free(del);
return;
}
תשובות
הוסף תשובה
|
לצפיה בתשובות
יולי 2019
// A linked list node
struct Node {
int data;
struct Node* next;
struct Node* prev;
};
/* Function to delete a node in a Doubly Linked List.
head_ref --> pointer to head node pointer.
del --> pointer to node to be deleted. */
void deleteNode(struct Node** head_ref, struct Node* del)
{
/* base case */
if (*head_ref == NULL || del == NULL)
return;
/* If node to be deleted is head node */
if (*head_ref == del)
*head_ref = del->next;
/* Change next only if node to be deleted is NOT the last node */
if (del->next != NULL)
del->next->prev = del->prev;
/* Change prev only if node to be deleted is NOT the first node */
if (del->prev != NULL)
del->prev->next = del->next;
/* Finally, free the memory occupied by del*/
free(del);
return;
}
הסבירו על החברה והתפקיד, ביקשו להציג את עצמי, ראיון מקצועי.
שאלות מתוך הראיון
מה המתח על הקבל במעגל RC במצב סינוסי מתמיד, איך לוודא שהפתרון אכן הגיוני. אותה שאלה כשבכניסה גל ריבועי מחזורי וארוך (הרבה מחזורים), כל מיני שאלות על איך אפשר להשתמש במעגל בתור פילטר ספקטרלי.
בניין בן 100 קומות. יש שתי ביצים. יש למצוא שיטה אופטימלית לגלות מהי הקומה הנמוכה ביותר בה ביצה נשברת בכמה שפחות בדיקות.
תשובות
הוסף תשובה
|
לצפיה בתשובות
מאי 2019
השיטה היא כדלהלן: יש להפיל קודם מהקומה ה K ואז מהקומה ה K-1 ואז מהקומה ה K-2 וכן הלאה. כאשר הדרישה היא k + k-1 + k-2 + ... + 1 >= 100 ומתוך סכום של סדרה חשבונית מקבלים k*(k+1)/2>=100 כלומר k>=13.65 ולכן k=14.
מה זה Mutex ?
מה זה Thread ?
נתון לך רשימה מקשורת דו כיוונית ומצביע לתחילת הרשימה ולסוף הרשימה.
צריך לכתוב פונק שמקבלת מצביע למבנה אותו רוצים לנקות מהזכרון בO(1) זמן ריצה.
צריך לשים לב למקרי קצה.
כתוב פונק' שמקבלת 2 מצביעים לchar ורוצים לבדוק האם המחרוזת היא פרמוטצייה של המחרוזת השנייה.
סיבוכיות זמן ריצה ב O(N)
נתון לך 2 CPU ומשאב משותף לשניהם,
כתוב פסודו קוד שיאפשר רק לCPU אחד לכתוב/קרוא נתונים מהמשאב מבלי שCPU אחרים יגשו במקביל.
אין להשתמש ב MUTEX,SEMAPHURE,SORT.