题解 | #牧场里的编号顺序# 线性DP
牧场里的编号顺序
https://www.nowcoder.com/practice/6741b77f486a493da5258738323ddd3e
知识点
动态规划
思路
考虑以每个点结尾的最长上升子串的长度, 假如当前节点比前一个大, 则可以从上一个转移
时间复杂度
AC Code (C++)
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param ids int整型vector
* @param n int整型
* @return int整型
*/
int longestConsecutive(vector<int>& ids, int n) {
vector<int> f(n);
f[0] = 1;
int res = 0;
for (int i = 1; i < n; i ++) {
f[i] = 1;
if (ids[i] > ids[i - 1]) f[i] = max(f[i], f[i - 1] + 1);
res = max(res, f[i]);
}
return res;
}
};