2691:打印极值点下标(百练)
来源:互联网 发布:魔兽争霸软件下载 编辑:程序博客网 时间:2024/05/22 07:07
百练
/练习
2691:打印极值点下标
- 查看
- 提交
- 统计
- 提示
- 提问
- 总时间限制:
- 1000ms
- 内存限制:
- 65536kB
- 描述
- 在一个整数数组上,对于下标为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
- 来源
- 计算概论05
解题思路很简单,比较数组和他的相邻的元素,如果都大于或者都小于则打印下标。比较坑的是我比较是 if(i>1&&i<=num-1){写成了if(i>1&&i<num-1),不小心漏掉了一个元素,gg
#include<stdio.h>
#include<iostream>
#define N 1010
using namespace std;
int main()
{
int n;
cin>>n;
while(n--){
int num;
cin>>num;
int a[N];
for(int i=0;i<num;i++){
cin>>a[i];
if(i==1){
if(a[0]!=a[1])
cout<<0<<" ";
}
if(i>1&&i<=num-1){
if( ( (a[i-1]>a[i-2]) && (a[i-1]>a[i]) )||( (a[i-1]<a[i-2]) && (a[i-1]<a[i]) )){
cout<<i-1<<" ";
}
}
if(i==num-1){
if(a[i]!=a[i-1]){
cout<<i;
}
}
}
cout<<endl;
}
}
- 百练 打印极值点下标 2691
- 2691:打印极值点下标(百练)
- 百练_2691:打印极值点下标
- 打印极值点下标
- 题目19:打印极值点下标
- 题目19:打印极值点下标
- 题目1126:打印极值点下标
- 题目1126:打印极值点下标
- 题目1126:打印极值点下标
- 19-题目1126:打印极值点下标
- 题目1126:打印极值点下标
- 题目1126:打印极值点下标
- 九度题目1126:打印极值点下标
- 九度OJ 题目1126:打印极值点下标
- 九度题目1126:打印极值点下标
- 九度-题目1126:打印极值点下标
- C++ 打印极值点下标(九度OJ 1126)
- 题目1126:打印极值点下标 九度OJ
- 分数类的雏形
- ASP网站及数据库如何在win10本地测试
- hdu 2448 Mining Station on the Sea【费用流】本代码思路仅供参考
- 静态成员应用
- [C/C++笔面试]自己编程实现strcmp
- 2691:打印极值点下标(百练)
- cocos2dx - 网络编程
- 使用javascript和java模仿实现事件回调机制
- c#编程之@的3种作用
- Eventbus3.0的基本使用以及在企业中如何EventBus
- 向量积
- 个人感想之----安装环境
- 笔试选择题十
- Runnable和Callable接口的区别