排序法

  • 思路简单,但是注意项比较多
  • 1.非零重复时,返回false。 2. len-1只要小于3就满足条件,最苛刻才是等于3
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param numbers int整型vector 
     * @return bool布尔型
     */
    bool IsContinuous(vector<int>& numbers) {
        // write code here
        sort(numbers.begin(),numbers.end());
        int k=-1;
        int max_v=numbers[numbers.size()-1];
        for(int i=numbers.size()-1;i>=0;i--)
        {
            if(i!=0&&numbers[i]==numbers[i-1]&&numbers[i]!=0)
            {
                return false;
            }
            if(numbers[i]==0)
            {
                k=i;
                break;
            }
        }
        int min_v=numbers[k+1];
        int len=max_v-min_v;
        return len-1<=3;
    }
};