תיאור השאלה
Given an integer rowIndex, return the rowIndex-th (0-indexed) row of Pascal's triangle, using only O(rowIndex) extra space.
איך פותרים?
מחזיקים מערך אחד ומעדכנים אותו במקום, מהסוף להתחלה: row[j] += row[j-1]. ההליכה אחורה מבטיחה שעוד לא דרסנו את הערך מהשורה הקודמת שאנחנו צריכים. סיבוכיות: O(k²) זמן, O(k) זיכרון.
פתרון קוד
JavaScript
Python
function getRow(rowIndex) {
const row = new Array(rowIndex + 1).fill(1);
for (let i = 2; i <= rowIndex; i++) {
for (let j = i - 1; j >= 1; j--) {
row[j] += row[j - 1];
}
}
return row;
}
לעבור את ראיון העבודה הבא שלך בהצלחה
קורס דיגיטלי מקיף עם +25 שיעורים מעשיים, כשעתיים של וידאו, וליווי של מראיין בכיר.