I_love_%username%
题意
在递增的分数中与之前的分数相比有最值出现时,惊讶一次,第一次不会惊讶
思路
- 先处理第一次不会惊讶的特殊情况
- 使用max,min函数寻找最值
- 记录次数再输出
坑点
- 记得第一次不会惊讶的特殊情况
for循环从1开始
算法一:max,min 函数比较
时间复杂度
入门
实现步骤
- 输入a[0],把a[0]赋值给最值
- for循环进行比较
- 输出惊讶次数
代码
#include <iostream>
using namespace std;
int main(){
int num;//编码数量
cin>>num;
int max,min,count=0;
int a[10010];
cin>>a[0];//因为数组下标要从0开始输入,所以这个特殊情况也要输入进去
max=min=a[0];
for(int i=1;i<num;i++){//i=0为特殊情况,第一次不惊讶
cin>>a[i];//得分
if(a[i]<min){
count++;
min=a[i];
}
else if(a[i]>max){
count++;
max=a[i];
}
}
cout<<count;
return 0;
}
总结
注意输入数组时从0开始输入,所以有两个输入