【发布时间】:2013-07-03 04:59:45
【问题描述】:
这是Wikipedia上给出的最长递增子序列的伪代码
L = 0
for i = 1, 2, ... n:
binary search for the largest positive j ≤ L
such that X[M[j]] < X[i] (or set j = 0 if no such value exists)
P[i] = M[j]
if j == L or X[i] < X[M[j+1]]:
M[j+1] = i
L = max(L, j+1)
我已了解代码的工作原理。我唯一不能理解的是这个陈述的必要性(如果 j == L 或 X[i]
【问题讨论】:
-
我的回答有帮助吗? stackoverflow.com/questions/17472723/…
-
不是真的......我正在寻找一个 nlogn 解决方案......