题目主要是需要把数据排序,掌握+1的计数,对比当前最大值是否更新。考虑一下临界条件。
class Solution {
public:
/**
* max increasing subsequence
* @param arr int整型vector the array
* @return int整型
*/
int MLS(vector<int>& arr) {
// write code here
int res = 1;
int tmp = 1;
sort(arr.begin(), arr.end());
for(int i=1;i<arr.size();i++){
if(arr[i]-arr[i-1] == 1){
tmp += 1;
}else if(arr[i] == arr[i-1]){
continue;
}else{
tmp = 1;
}
res = max(res, tmp);
}
return res;
}
};



京公网安备 11010502036488号