1 条题解

  • 0
    @ 2025-10-10 15:45:28

    C++ :

    #include<iostream>
    using namespace std;
    int main(){
    	int n,i,l=1,k=0;
    	cin>>n;
    	int a[n];
    	for(i=0;i<n;i++) cin>>a[i];
    	for(i=1;i<n;i++){
    		if(k==0){
    			if(a[i-1]<a[i]){
    				k=1;
    			}else k=2;
    		}else if(k==1){
    			if(a[i-1]>a[i]){
    				l++;
    				k=2;
    			}
    		}else{
    			if(a[i-1]<a[i]){
    				l++;
    				k=1;
    			}
    		}
    	}
    	cout<<l;
    } 
    

    Java :

    import java.util.Scanner;
    
    public class Main {
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		int n = sc.nextInt();
    		int[] a =new int[n];
    		for (int i =0;i<n;i++) {
    			a[i]=sc.nextInt();
    		}
    		int m =0;
    		for(int i=1;i<n-1;i++) {
    			if(a[i]>a[i-1]&&a[i]>a[i+1]) {
    				m++;
    			}
    			if(a[i]<a[i-1]&&a[i]<a[i+1]) {
    				m++;
    			}
    		}
    		System.out.println(m+1);
    	}
    }
    
    

    Python :

    n=int(input())
    a=input().split()
    a=list(map(int,a))
    js=1
    if(a[0]<a[1]):
       k=1
    else:
       k=2
    for i in range(1,n-1):
       if(a[i]<a[i+1]):
           if(k==2):
               js=js+1
               k=1
       else:
           if(k==1):
               js=js+1
               k=2
    print(js)
    
    • 1

    信息

    ID
    168
    时间
    1000ms
    内存
    512MiB
    难度
    10
    标签
    递交数
    2
    已通过
    2
    上传者