我一直試圖理解這個算法過去兩個小時,但似乎無法得到它。有人可以用簡單易懂的方式解釋嗎?解釋算法來解決'最長的遞增子序列'問題
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;
用鉛筆和紙張上的十元素數組遍歷代碼。或者返回到該功能的文檔。 –
^@ RaymondChen 這是如此無益。最好不要發佈任何內容,而不要提出這樣的建議。它降低了本網站的答案質量,它只會損害社區並延伸自己。 – guribe94