习题3.4 最长连续递增子序列(20 分)

#include<stdio.h>
int main()
{
  int n,i=0;
  scanf("%d",&n);
  int num[100001]={0,0,};
  while(n-->0)
      scanf("%d",&num[i++]);
    if(i==1)
    {
      printf("%d",num[0]);
      return 0;
    }
  int *a=NULL,*a1=NULL;
  int l=0,l1=0;
  for(n=1;n<i;n++)
  {
      if(l==0) 
          a=&(num[n-1]);
      if(!a1)
          a1=a;
      if(num[n]>num[n-1])
          ++l;
      else
      {
          if(l1<l)
          {
              l1=l;
              a1=a;
          }
          l=0;
      }
  }
  if(l1<l)
  {
      l1=l;
      a1=a;
  }
  for(i=0;i<=l1;i++)
  {
      if(i)
          printf(" ");
      printf("%d",*(a1+i));
  }
  return 0;
}

猜你喜欢

转载自blog.csdn.net/yubai258/article/details/82217159