階段を登っているとします。建物の最上部に到達するまでに n 歩かかります。 一度に1段または2段登ることができます。建物の最上階まで登るには、何通りの方法がありますか? 注: n は正の整数です。 例1:
例2:
解決策: 動的プログラミング動的プログラミング (DP) は、複雑な問題を小さな問題に分割して解決する戦略です。ただし、各サブ問題が互いに独立していることを要求する分割統治アルゴリズムとは異なり、動的プログラミングのサブ問題は相互に関連しています。 分割統治法は、その名の通り、分割して統治することです。複雑な問題を 2 つ以上の類似したサブ問題に分割し、そのサブ問題をさらに小さなサブ問題に分割して、簡単に解決できるまで続けます。サブ問題が解決されると、元の問題の解決策はサブ問題の解決策の組み合わせになります。 動的プログラミングを使用して問題を解決する場合、いくつかの重要な手順に従う必要があります。
ステップ1: サブ問題を定義するdp[n]を使用してn番目のステップのオプションの数を表し、質問から最後のステップが2ステップまたは1ステップになる可能性があることがわかっている場合、n番目のステップのオプションの数は、n-1番目のステップのオプションの数とn-2番目のステップのオプションの数の合計に等しくなります。 ステップ2: 繰り返し解決する必要があるサブ問題を実装する
ステップ3: 境界条件を特定して解決する
最後のステップ: 末尾のコードをコードに変換し、いくつかのエッジケースを処理する
複雑性分析:
空間の複雑さを最適化:
空間計算量: O(1)リートコード: https://leetcode-cn.com/problems/climbing-stairs/solution/pa-lou-ti-wen-ti-by-user7746o/ |
<<: 重力波検出からRNAシークエンシングまで、AIが科学的発見を加速させる方法
中国自動車工程協会と国家インテリジェントコネクテッドビークルイノベーションセンターは、「2021年第...
少し前に、「テイラー・スウィフトが中国語を披露」する動画がさまざまなソーシャルメディアプラットフォー...
人工知能はデータ変換ツールに革命をもたらし、効率、精度、リアルタイム処理を向上させます。シームレスな...
タスクの数が増えるにつれて、現在の計算方法を使用して汎用の日常的なロボットを構築するコストは法外なも...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
2017年5月に世界保健機関が発表したデータによると、世界中で毎年約125万人が交通事故で亡くなって...
強化学習 (RL) アルゴリズムのトレーニング プロセスでは、サポートとして環境との相互作用のサンプ...
デジタルパフォーマンス管理の変革デジタル目標設定パフォーマンス計画は、企業の繁栄戦略と業務を結び付け...
[[208842]]最近、カリフォルニア州クララで開催された Health 2.0 カンファレンス...
クアルコムは、計算能力とエネルギー効率の点で優れたチップを備えた、世界最大のスマートフォンプロセッサ...
2016年にポケモンGOが世界を席巻したときのことを覚えていますか?当時、多くの人々は、拡張現実革...
この記事では、機械学習アルゴリズムにおける非常に重要な知識である分類、つまり入力データが属するカテゴ...
[[200819]]本稿では、分散システムの観点から現在の機械学習プラットフォームのいくつかを研究...
AI を活用して財務管理や投資を行いたいと考えていますか? [[351941]]好むと好まざるとにか...