求最长严格上升子序列长度的 DP,横线处应填入:
vector<int> dp(n, 1);
for (int i = 1; i < n; i++)
for (int j = 0; j < i; j++)
if (nums[i] > nums[j])
________; // 填入选项
return *max_element(dp.begin(), dp.end());
- A. dp[i] = max(dp[i], dp[j]);
- B. dp[i] = max(dp[i+1], dp[j] + 1);
- C. dp[i] = max(dp[i], dp[j] - 1);
- D. dp[i] = max(dp[i], dp[j] + 1);
正确答案:D