100のステップがありますが、1つのステップまたは2つのステップを踏むことができます。
今日の電話インタビュー。アルゴリズムの問題に遭遇すると、すぐに混乱します。
それから、私は賢く、人が毎回1つのステップを踏むと、彼は最大100ステップ、そして少なくとも50ステップを持っていると思いました。それから彼は明らかに話題から外れました。 。 。幸いなことに、相手は私を時間内に中断しました。 。 。そうでなければ、私はおそらくこのことにブレインストーミングを維持する必要があります。 。 。黒まで歩く。 。
それから私は家に帰りました。私のMacを持って静かに考えて、私はついにそれを書きました
var stairs = new step(); function step(){this.n1 = 1; this.n2 = 2; this.total = 100; this.getFunction = getFunction;} function getFunction(){for(i = 2; i <this.total; i ++){res = this.n1+this.n2; this.n1 = this.n2; this.n2 = res; } return res;} var totalstairs = stairs.getFunction(); alert(totalstairs)正方形が1つしかない場合。たった1つのステップ。 。 。 。たった1つのタイプ
ボックスが2つしかない場合、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)
フィボナッチアルゴリズム...そしてそれを使用できます
for(i = 2; i <this.total; i ++){res = this.n1+this.n2; this.n1 = this.n2; this.n2 = res;}たぶん私はアルゴリズムが特に得意ではない〜あなたが異議を唱えているなら、私を修正してください。
上記は、編集者が提起したJSインタビューの質問です。これは、アルゴリズムレベルのコンテンツ全体です。誰もがwulin.comをもっとサポートすることを願っています〜