我一直试图理解这个算法过去两个小时,但似乎无法得到它。有人可以用简单易懂的方式解释吗?解释算法来解决'最长的递增子序列'问题
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