题目主要是需要把数据排序,掌握+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; } };