先週のインタビューで、私は上記の質問を受けました。予想通り、私は正しく答えられませんでした。アルゴリズム。私は動的プログラミングに堪能ではありませんが、私はこのアルゴリズムを設計すると仮定して、私はそれにどのようにアプローチすべきですか?除算と征服を使用して最長増加するサブシーケンスを見つける
と仮定、私は他の分裂からアイデアを取るとMergeSortのようなアルゴリズムを征服などソリューション何かデザイン:2等分で
- 分割シーケンスを。
- 2つの半分の中で最も長い増加するサブシーケンスを見つけます。
- 2つの半分を結合します。
明らかに欠けている部分がありますが、ここからどのように進んでいますか?
[最長増加シーケンスを見つける]の可能な複製(http://stackoverflow.com/questions/4938833/find-longest-increasing-sequence) – TessellatingHeckler
@TessellatingHeckler質問を更新しました。 – CodeYogi
私はそれを得ることはできません、あなたは任意の問題に任意のアイデアを適用し、それを動作させるだけですか?この問題はさまざまな方法で解決できますが、当然のことながら、自然でダイナミックなプログラミングはほんの一例ですが、明らかに最良ではありません(効率的) – Yerken