问题描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
小明特别喜欢顺子。顺子指的就是连续的三个数字:123、456 等。顺子日期指的就是在日期的 yyyymmdd 表示法中,存在任意连续的三位数是一个顺子的日期。例如 20220123 就是一个顺子日期,因为它出现了一个顺子:123; 而 20221023 则不是一个顺子日期,它一个顺子也没有。小明想知道在整个 2022 年份中,一共有多少个顺子日期?
运行限制
- 最大运行时间:1s
- 最大运行内存: 512M
# 2022年份中有多少个顺子日期
month_days = [31,28,31,30,31,30,31,31,30,31,30,31] # 2022每个月的天数
i = 0
count = 0
asn = 0
def shunzi_data(data:str,count:int): # 0123
ans = data[0]
for i in range(1,len(data)):
if i < len(data) and int(data[i]) == int(data[i-1]) +1:
ans += data[i]
elif i==2 and int(data[i]) != int(data[i-1]) +1: # 如果到data的第3个断开了,那就结束
return count
else:
ans = ans
if len(ans) >= 3: # 假设1230,也是我们想要的答案
count+=1
break
return count
for month in range(1,13): # 从 1-12
for j in range(1,month_days[i]+1):
data = str(month).zfill(2) + str(j).zfill(2)
asn += shunzi_data(data,count)
i += 1
print(asn) # 正确答案输出应该是 14
答案是:14
谢谢大家的点赞、关注和收藏~~~~~~~~~~~~~~~~~~~~~~~~~~~~