class Solution {
public:
/**
* max increasing subsequence
* @param arr int整型vector the array
* @return int整型
*/
int MLS(vector<int>& arr) {
sort(arr.begin(), arr.end());
int nowlen = 1, now = arr[0];
int res = 1;
for (int i = 1; i < arr.size(); ++i) {
if (arr[i] == now + 1) {
++nowlen;
now = arr[i];
res = max(res, nowlen);
} else if (arr[i] != now) {
nowlen = 1;
now = arr[i];
}
}
return res;
}
};
思路:先排序,然后模拟构造最长连续子序列。

京公网安备 11010502036488号