打印极值点下标

注意边界0和n-1

#include<bits/stdc++.h>
using namespace std;
const int maxn=100;
int arr[maxn];
int main(){
	int n;
	while(cin>>n){
		vector<int> ans;
		for(int i=0; i < n; i++){
			cin>>arr[i];
		}
		if(arr[0] > arr[1] ||arr[0] < arr[1]) ans.push_back(0);
		for(int i = 1; i < n-1; i++){
			if(arr[i] > arr[i-1] && arr[i] > arr[i+1]) ans.push_back(i);
			if(arr[i] < arr[i-1] && arr[i] < arr[i+1]) ans.push_back(i);
		}
		if(arr[n-1] > arr[n-2] ||arr[n-1] < arr[n-2]) ans.push_back(n-1);
		for(int i=0; i < ans.size(); i++){
			cout<<ans[i];
			if(i!=ans.size()-1) cout<<" ";
			else cout<<endl;
		}
	}
	
	
	
	return 0;
}
全部评论

相关推荐

程序员小白条:主要没亮点,项目也是网上的,平平无奇,那只能海投了,奖项总得有一些,然后就是现在最好是前后端都会,自己能做项目并且运维的,要么找星球项目改改,要么找个开源项目改改,自己能拓展功能才是主要的,跟做效率很低很低
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务