🤖המדריך להייטיקיסט המתחיל
קלLeetCode #70

Climbing Stairs

עשויה להישאל ב:AmazonGoogleAdobe

תיאור השאלה

You are climbing a staircase that takes n steps to reach the top. Each time you can climb either 1 or 2 steps. In how many distinct ways can you climb to the top?

איך פותרים?

למדרגה n מגיעים או מ־n-1 או מ־n-2, ולכן מספר הדרכים הוא סכום שני הקודמים, בדיוק כמו פיבונאצ'י. מספיק לשמור שני משתנים. סיבוכיות: O(n) זמן, O(1) זיכרון.

פתרון קוד

JavaScript
Python
function climbStairs(n) {
  let prev = 1;
  let curr = 1;
  for (let i = 2; i <= n; i++) {
    [prev, curr] = [curr, prev + curr];
  }
  return curr;
}
Book Cover

לעבור את ראיון העבודה הבא שלך בהצלחה

קורס דיגיטלי מקיף עם +25 שיעורים מעשיים, כשעתיים של וידאו, וליווי של מראיין בכיר.

התחל עכשיו ב-149 ₪ בלבד! 🚀