码迷,mamicode.com
首页 > 其他好文 > 详细

CCF201604-1-折点计数

时间:2020-09-17 12:27:00      阅读:17      评论:0      收藏:0      [点我收藏+]

标签:格式   编号   efi   一个   data   数据   计数   strong   nbsp   

折点计数

原题链接:http://118.190.20.162/view.page?gpid=T42

试题编号: 201604-1
试题名称: 折点计数
时间限制: 1.0s
内存限制: 256.0MB
问题描述:
问题描述
  给定n个整数表示一个商店连续n天的销售量。如果某天之前销售量在增长,而后一天销售量减少,则称这一天为折点,反过来如果之前销售量减少而后一天销售量增长,也称这一天为折点。其他的天都不是折点。如下图中,第3天和第6天是折点。
技术图片
  给定n个整数a1a2, …, an表示销售量,请计算出这些天总共有多少个折点。
  为了减少歧义,我们给定的数据保证:在这n天中相邻两天的销售量总是不同的,即ai-1ai。注意,如果两天不相邻,销售量可能相同。
输入格式
  输入的第一行包含一个整数n
  第二行包含n个整数,用空格分隔,分别表示a1a2, …, an
输出格式
  输出一个整数,表示折点出现的数量。
样例输入
7
5 4 1 2 3 6 4
样例输出
2
评测用例规模与约定
  所有评测用例满足:1 ≤ n ≤ 1000,每天的销售量是不超过10000的非负整数。

 

题解:找两种情况(1)1<4>2,(2)6>3<4  也就是“凹凸”

 1 n = int(input())
 2 b = input().split()
 3 a = [0]*len(b)
 4 
 5 for i in range(len(b)):
 6     a[i] = int(b[i])
 7 
 8 find = 0
 9 for i in range(1, len(a)-1):
10     if a[i-1] < a[i] and a[i] > a[i+1]:
11         # print("find",a[i-1], a[i], a[i+1])
12         find += 1
13     if a[i-1] > a[i] and a[i] < a[i+1]:
14         # print("find",a[i-1], a[i], a[i+1])
15         find += 1
16 
17 print(find)

 

CCF201604-1-折点计数

标签:格式   编号   efi   一个   data   数据   计数   strong   nbsp   

原文地址:https://www.cnblogs.com/z-712/p/13610429.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!