亚马逊 输出数字波峰波谷

来源:互联网 发布:python 类型判断 编辑:程序博客网 时间:2024/05/17 02:14
/*输出波峰波谷*/void printArrPeakValley(const int* arr, int len ){    //    vector<int> iv(arr,arr+len);    vector<int> result;    result.push_back(iv[0]);    int temp=iv[0];    int maxDis=iv[0];    vector<int>::size_type i=1;    int flag=0;    for(;i<iv.size();)    {        while(i<iv.size() && temp == iv[i] )        {            flag=0;            i++;        }        while(i<iv.size() && temp < iv[i] )        {            flag=1;//递增标记            temp=iv[i];            i++;        }        if(flag==1)        {            result.push_back(iv[--i]);            i++;        }        while(i<iv.size() && temp > iv[i])        {            flag=2;//递减标记            temp=iv[i];            i++;        }        if(flag==2)        {            result.push_back(iv[--i]);            i++;        }    }    for(vector<int>::size_type j=0; j<result.size(); j++)        cout << result[j] << " ";}

原创粉丝点击