هناك 100 خطوة ، والتي يمكن اتخاذها خطوة واحدة أو خطوتين ، إذن كم من الطرق التي يسير فيها واحد؟
مقابلة الهاتف اليوم. عندما تواجه مشكلة خوارزمية ، سيتم الخلط بينك في لحظة ؛
بعد ذلك ، كنت ذكيًا واعتقدت أنه إذا اتخذ شخص خطوة واحدة في كل مرة ، فسيكون لديه 100 خطوة على الأقل ، وما لا يقل عن 50 خطوة في كل مرة ؛ ثم من الواضح أنه خرج عن الموضوع. . . لحسن الحظ ، قاطعني الطرف الآخر في الوقت المناسب. . . خلاف ذلك ، ربما يتعين علي الحفاظ على عصف ذهني على هذا الشيء. . . المشي على طول الطريق إلى الأسود. .
ثم وصلت إلى المنزل. حمل جهاز Mac الخاص بي والتفكير بهدوء ، كتبته أخيرًا
VAR SALLS = New Step () ؛ Function Step () {this.n1 = 1 ؛ this.n2 = 2 ؛ this.total = 100 ؛ this.getFunction = getFunction ؛} وظيفة getFunction () {for (i = 2 ؛ i <this.total ؛ i ++) {res = this.n1+this.n2 ؛ this.n1 = this.n2 ؛ this.n2 = res ؛ } return res ؛} var totalstairs = الدرجعندما يكون هناك مربع واحد فقط. خطوة واحدة فقط. . . . نوع واحد فقط
عندما يكون هناك صناديق فقط ، يمكنك 1+1 || 2. . . 2 نوع
عندما يكون هناك 3 شبكات ، 1+1+1 || 2+1 || 1+2. . 3 أنواع
عندما تكون 4 مربعات هي 1+1+1+1 || 2+2 || 2+1+1 || 1+1+2 || 1+2+1. . . 5 أنواع
SN = S (N-1)+S (N-2)
خوارزمية فيبوناتشي ... ثم يمكن استخدامها
لـ (i = 2 ؛ i <this.total ؛ i ++) {res = this.n1+this.n2 ؛ this.n1 = this.n2 ؛ this.n2 = res ؛}ربما لست جيدًا في الخوارزميات ~ إذا كان لديك أي اعتراضات ، فالرجاء تصحيحني.
ما سبق هو أسئلة مقابلة JS التي قدمها لك المحرر-المحتوى الكامل لمستوى الخوارزمية. آمل أن يدعم الجميع wulin.com أكثر ~