华为OD 山峰个数 C语言实现

打印 上一主题 下一主题

主题 1743|帖子 1743|积分 5229

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x

不知道是不是我理解错了,这个标题200分?
  1. int main(void)
  2. {
  3.     int i = 0;
  4.     int len = 0;
  5.     char c = '\0';
  6.     int data[1000] = {0};
  7.     int temp[1000] = {-1};
  8.     int top = 0;
  9.     int count = 0;
  10.     while(scanf("%d",&data[i]) == 1)
  11.     {
  12.       i++;
  13.       len++;
  14.       c=getchar();
  15.       if(c == '\n')
  16.       {
  17.           break;
  18.       }
  19.     }
  20. //    for(i=0; i<len; i++)
  21. //    {
  22. //        printf("%d ",data[i]);
  23. //    }
  24.     temp[0]=data[0];
  25.     for(i=1; i<len; i++)
  26.     {
  27.         if(data[i]>temp[top])//入栈
  28.         {
  29.             top++;
  30.             temp[top] = data[i];
  31.             if(i== len-1)
  32.             {
  33.                 count++;
  34.                 break;
  35.             }
  36.         }
  37.         else//出栈为山峰
  38.         {
  39.             count++;
  40.             top=0;
  41.             temp[top] = data[i];
  42.         }
  43.     }
  44. printf("%d",count);
  45.     return 0;
  46. }
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

郭卫东

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表