如果 X[i+1] - X[i] > X[i] - X[i-1] 对于 2 和 m-1 之间的每个整数 i,则称整数序列 X[1..m] 为凸。
for (int i = 1; i < list.size(); i++) {
for (int j = 0; j < list.size(); j++) {
dp[i][j] = 2;
for (int k = 0; k < j; k++) {
if (dp[j][k] + 1 > dp[i][j] && ((list.get(i) + list.get(k)) > (list.get(j) * 2))) {
dp[i][j] = dp[j][k] + 1;
}
len = Math.max(len, dp[i][j]);
}
}
}
我发现有一种模式,给定X[1..m],通过让Y[i] = X[i] - X[i-1]来定义Y[2..m]。因此,Y 是由 X 的连续项之间的差值组成的序列。当且仅当序列 Y 增加时,序列 X 是凸的。我想知道有没有办法得到像A = [0, 3, 7, 8, 13]这样的子序列,那么最长的凸子序列是[0, 3, 7, 13]。提前致谢。
一只名叫tom的猫
相关分类