fortunes
Member
שאלת היגיון...
אהלן חברה, אשמח לעזרה בשאלת "ראיון עבודה" אותה אני מנסה לפתור כבר כשעה. חשבתי על פתרון, אבל לא בטוח שהוא תקין...
קיימת מטריצה בגודל nXm יש לתת אלגוריתם שעבור כל ערך 0 בתא מסוים (לדוגמה: תא [i,j]) כל הערכים באותה שורה (i) ועמודה (j) יאופסו גם הם. זמן ריצה O(n*m)
הפתרון שחשבתי עליו:
בונים שני מערכי עזר בגודל n ו-m, אחד מיועד לציר X ושני לציר Y.
פעם אחת סורקים את המטריצה, אם נתקים ב-0, שומרים באיזה קואורדינה בX ו-Y יש 0 (במערכים ושומרים באינדקס המתאים) זה יוצא mxn ריצה.
לאחר מכן רץ עוד פעם על המטריצה מההתחלה, ומשווה כל תא מול האינדקס המתאים במערכים, לבדוק אם יש 0. אם יש, משווה את התא ל-0.
מה דעתכם?
תודה
אהלן חברה, אשמח לעזרה בשאלת "ראיון עבודה" אותה אני מנסה לפתור כבר כשעה. חשבתי על פתרון, אבל לא בטוח שהוא תקין...
קיימת מטריצה בגודל nXm יש לתת אלגוריתם שעבור כל ערך 0 בתא מסוים (לדוגמה: תא [i,j]) כל הערכים באותה שורה (i) ועמודה (j) יאופסו גם הם. זמן ריצה O(n*m)
הפתרון שחשבתי עליו:
בונים שני מערכי עזר בגודל n ו-m, אחד מיועד לציר X ושני לציר Y.
פעם אחת סורקים את המטריצה, אם נתקים ב-0, שומרים באיזה קואורדינה בX ו-Y יש 0 (במערכים ושומרים באינדקס המתאים) זה יוצא mxn ריצה.
לאחר מכן רץ עוד פעם על המטריצה מההתחלה, ומשווה כל תא מול האינדקס המתאים במערכים, לבדוק אם יש 0. אם יש, משווה את התא ל-0.
מה דעתכם?
תודה