C++ 打印极值点下标(九度OJ 1126)
来源:互联网 发布:大数据认证考试 编辑:程序博客网 时间:2024/05/16 12:04
题目描述:
在一个整数数组上,对于下标为i的整数,如果它大于所有它相邻的整数,
或者小于所有它相邻的整数,则称为该整数为一个极值点,极值点的下标就是i。
- 输入:
每个案例的输入如下:
有2×n+1行输入:第一行是要处理的数组的个数n;
对其余2×n行,第一行是此数组的元素个数k(4<k<80),第二行是k个整数,每两个整数之间用空格分隔。
- 输出:
每个案例输出为n行:每行对应于相应数组的所有极值点下标值,下标值之间用空格分隔。
- 样例输入:
31010 12 12 11 11 12 23 24 12 121512 12 122 112 222 211 222 221 76 36 31 234 256 76 76 1512 14 122 112 222 222 222 221 76 36 31 234 256 76 73
- 样例输出:
0 72 3 4 5 6 10 120 2 3 10 12 14
源代码:
#include <iostream>using namespace std;int main(){ int n,i; int num; //数组元素个数 int a[80]; int flag; //flag用于判断是否打印空格 cin>>n; while(n>0) { cin>>num; flag=0; for(i=0;i<num;i++) { cin>>a[i]; } if(a[0]!=a[1]) //首个极值点 { cout<<"0"; flag++; } for(i=1;i<num-1;i++) { if((a[i]>a[i-1]&&a[i]>a[i+1]) || (a[i]<a[i-1]&&a[i]<a[i+1])) //中间的极值点 { if(flag!=0) { cout<<" "<<i; flag++; } else { cout<<i; flag++; } } } if(a[num-2]!=a[num-1]) //最后一个极值点 { if(flag!=0) { cout<<" "<<num-1; flag++; } else { cout<<num-1; flag++; } } cout<<endl; n--; } return 0;}
程序截图:
0 0
- C++ 打印极值点下标(九度OJ 1126)
- 九度OJ 题目1126:打印极值点下标
- 题目1126:打印极值点下标 九度OJ
- 九度OJ题目1126:打印极值点下标
- 九度OJ 1126:打印极值点下标 (基础题)
- 【九度OJ】题目1126:打印极值点下标 解题报告
- 九度题目1126:打印极值点下标
- 九度题目1126:打印极值点下标
- 九度-题目1126:打印极值点下标
- 打印极值点下标
- 题目1126:打印极值点下标
- 题目1126:打印极值点下标
- 题目1126:打印极值点下标
- 19-题目1126:打印极值点下标
- 题目1126:打印极值点下标
- 题目1126:打印极值点下标
- 题目19:打印极值点下标
- 题目19:打印极值点下标
- samba 服务器搭建配置 - Ubuntu
- 分发事件总结
- Eclipse常用操作
- NOIP提高组 积木
- Kafka在Windows安装运行
- C++ 打印极值点下标(九度OJ 1126)
- android常见的弹窗对话框
- 每天一条linux命令--less命令
- HDU 2076 时针和分针夹角多大
- Redux without profanity
- Template模式
- Java的IO
- 可用的hadoop集群安装文档
- CentOS 7.2 team实现网卡聚合链路(双网卡绑定)脚本及验证