フィボナッチ数
タイトル:数のn番目のフィボナッチ用語のあなたは出力、整数nを入力するよう求め
A1:教科書法、再帰的な、しかし増分で時間複雑さが増すN ====>非現実的
A2:中間列はダブルカウントを避けるためにアップして得られたアイテムを保存することができます====> Oの時間複雑(N)
A3:データ式(あまりにも高度な、理解していません)
// O(N)法、中間用語を保存します
クラスソリューション{ パブリック: INTフィボナッチ(INT N){ int型RET [] = {0,1}。 場合(N <= 1) { RET [n]を返します。 } 長い長いfib_1 = 0。 長い長いfib_2 = 1。 長い長いfib_n = 0; 以下のために(INT I = 2; iが<= N; iは++) { fib_n = fib_1 + fib_2。 fib_1 = fib_2。 fib_2 = fib_n。 } 戻りfib_n。 } }。
関連トピック:
加算(入力二つの整数nおよびm、Lは、2,3-乱数列は、いくつか.......数nから取られ、それが記載されている可能な組み合わせの全てを必要とする、Mに等しいです)
K-大探して(整数の配列は、あなたがソート迅速な思考のK数の大規模な配列を見つけることがあります。)
任意の2つの隣接するコードは1ビットのみ異なる場合、このエンコーディングを生成する再帰的方法を用いて、グレーコード(グレイコード)、書き込み要求機能と呼ばれ、数字のセットをコードする(グレイコードを生成しますNビットのグレイコード。整数所与N、Nビットのグレイコードに戻り、ゼロからのオーダー)。
カエルのジャンプ階段
タイトル:カエルは、クラス1レベルにジャンプすることができ、あなたもレベル2に飛び乗っすることができます。カエルはどのように多くのジャンプ(別の計算異なる結果の順序)は、n級レベルの合計を求めて飛び込みました。
クラスソリューション{ パブリック: INT jumpFloor(INT数){ IF(数<= 2) { 戻り番号; } 長い長い数値1 = 1。 長い長い[数値= 2; 長い長いNUMBER_N = 0; 以下のために(INT I = 3; iが<=番号、iは++) { NUMBER_N =数値1 +数値2。 数値1 = [数値。 [数値= NUMBER_N。 } 戻りNUMBER_N。 } }。
関連トピック:
長方形のカバー(2 *大きい矩形をカバーする小さな矩形と、小さな長方形8 2 1により大きな長方形2×8、方法の合計数の*非重複カバレッジを尋ねます)
階段は、(n次の階段があるあなたの前に、あなただけの一次または二次にステップ実行することができます。あなたは階段を登って使用することができますどのように多くの異なる方法計算されます。)
2段の階段(あなたは階段n次(nは> = 100とn <500)を持って前に、あなたが唯一のステップ1と3次のことができますが。階段を登ったどのように多くのユーザーが使用できるさまざまな方法計算します。 (Pawanとして最後の層))