题解 | #打印极值点下标#

打印极值点下标

https://www.nowcoder.com/practice/7fd72f8ac7964ba3b8baa8735246e1f1

//vector垃圾写法
#include <iostream>
#include <vector>
using namespace std;

int main() {
    int n, num;
    vector<int>nums;
    while (cin >> n) { // 注意 while 处理多个 case
        for (int i =0; i<n; i++) {
            cin>>num;
            nums.push_back(num);
        }
        nums.clear();
        if(nums[0] >nums[1] || nums[0] <nums[1])
            cout<<0<<" ";
        for (int i =1; i<n-1; i++) {
            if(nums[i]>nums[i-1] &&nums[i] >nums[i+1])
            cout<<i<<" ";  
            if(nums[i]<nums[i-1] &&nums[i] <nums[i+1])
            cout<<i<<" "; 
        }
        if(nums[n-1] >nums[n-2] || nums[n-1] <nums[n-2])
            cout<<n-1;
        cout<<endl;   
    }
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

ResourceUtilization:四六级不愧是大学最有用的证之一
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务