我的想法是,一个“下坡”遇见一个“上坡”就形成了一个“低洼地”。
package cn.itcast.girl.TheBlueCup_02;
import java.util.Scanner;
public class Swale {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int a[] = new int[n];
int b[] = new int[n-1];
//上坡:1
//下坡:2
//平地:3
boolean downhill = false;
boolean uphill = false;
int sum = 0;
for(int i=0;i<n;i++) {
a[i] = sc.nextInt();
}
for(int i=0;i<n-1;i++) {
if(a[i+1]>a[i]) {
b[i]=1;
}else if(a[i+1]<a[i]) {
b[i]=2;
}else {
b[i]=3;
}
}
for(int i=0;i<n-1;i++) {
if(b[i]==2) uphill=true;
if(b[i]==1 && uphill) {
uphill=false;
sum++;
}
}
System.out.println(sum);
}
}
本文介绍了一种通过判断序列中元素的增减变化来识别并计数‘低洼地’的方法。具体实现中,使用了Java语言,并通过输入一组整数序列,自动识别序列中的‘上坡’和‘下坡’部分,当一个‘下坡’紧接一个‘上坡’时即形成一个‘低洼地’,最后输出‘低洼地’的数量。
877

被折叠的 条评论
为什么被折叠?



