私は過去2時間このアルゴリズムを理解しようとしていますが、それを得ることはできません。誰か理解しやすいように説明できますか?各要素について'longest increase subsequence'問題を解決するアルゴリズムを説明してください
function lis_length(a)
n := a.length
q := new Array(n)
for k from 0 to n:
max := 0;
for j from 0 to k, if a[k] > a[j]:
if q[j] > max, then set max = q[j].
q[k] := max + 1;
max := 0
for i from 0 to n:
if q[i] > max, then set max = q[i].
return max;
鉛筆と紙の上に10要素の配列を持つコードを歩きます。または、関数のドキュメントに戻ってください。 –
^@RaymondChen これはあまり役に立たない。このような提案をする以外に何も投稿しない方が良いでしょう。このサイトの回答品質は低下しますが、これはコミュニティだけでなく、自分自身にも害を及ぼすものです。 – guribe94