using System;
using System.Collections.Generic;
using System.Linq;


class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * max increasing subsequence
     * @param arr int整型一维数组 the array
     * @return int整型
     */
    public int MLS (List<int> arr) {
        // write code here
        arr.Sort();
//         HashSet<int> h=new HashSet<int>();
//         arr.ForEach(x=>h.Add(x));
//         List<int> l=new List<int>(h);
      //  l.Sort((x,y)=>x.CompareTo(y));
        int count=0;
        int cur=1;
        for(int i=0;i<arr.Count-1;i++)
        {
            if(arr[i]+1==arr[i+1])
            {
                cur++;
                count=count>cur?count:cur;
            }
            else if(arr[i]==arr[i+1])
                continue;
            else
            {
                cur=1;
            }
            
        }
        return count;
    }
}先排序,在往后遍历,一旦出现后面的数不等于前面的数,就看是否相连,相连则计数加1,否则,重新计数。