备战蓝桥杯Day37 - 真题 - 特殊日期

一、题目描述

 思路:

1、统计2000年到2000000年的日期,肯定是需要遍历

2、闰年的2月是29天,非闰年的2月是28天。我们需要判断这一年是否是闰年。

        1、3、5、7、8、10、12月是31天,4、6、9、11月是30天。

3、年份yy是月份mm的倍数也是dd的倍数:说明年份yy对月份mm和dd要同时整除

4、因为是一道填空题,我们可以不考虑算法的时间和空间复杂度的限制,使用暴力直接解决。

代码

import os
import sys# 请在此输入您的代码
def isLeap(x):  # 判断是否为闰年if (x % 4 == 0 and x % 100 != 0) or x % 400 == 0:return Truereturn Falsedef numAdd(x):  # 计算年份个数位的数字和sums = 0while x:sums += x % 10x //= 10return sumsstart, end = 1900, 9999
ans = 0
day = [1, -2, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1]  # 每个月天数和30天的差值
data = []
hstable = dict()  # key:月份1~12,value:每个月份月份数位和+日的数位和的区间,如1月份为(2, 32)
for j in range(1,32):  # 计算日数位和data.append(numAdd(j))
for i in range(1, 13):  # 初始化哈希表t = numAdd(i)  # 月数位和for j in range(day[i - 1] + 30):  # 遍历一个月的每一天将月数位和加上日数位和addt = t + data[j]if addt not in hstable:hstable[addt] = 1else:hstable[addt] += 1  # 哈希表中对应的天数加一for i in range(start, end + 1):  # 遍历每一年yearsum = numAdd(i)  # 计算年的数位和if yearsum in hstable:  # 若年的数位和在哈希表中存在则答案加上对应的天数ans += hstable[yearsum]if isLeap(i) and yearsum == 13:  # 闰年2月份多一天,位数和为13ans += 1print(ans)

本来想自己尝试写一下,但是结果不对,还是先学习一下大佬的吧。因为清明节放假,根本不想学习,玩完之后有戒断反应,非常失落现在。唉,还有六天就到省赛了,咱们就是说顺其自然吧,我已经不抱希望获奖了哈哈,自己的能力还是不够,还是要多学习啊。学习的过程比结果更重要!(好吧只能这样安慰自己了)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/600368.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

交易要想成功澳福总结几点

100%使用基本面分析的投资者能保证每次交易都能成功吗?100%使用技术分析的投资者能保证每次交易都能成功吗?在fpmarkets澳福看来无论是基本面分析还是技术分析都不能保证100%交易成功。 投资者不能只依赖一种分析进行投资交易。在fpmarkets澳福看来成功的…

Hyper-v平台搭建pve系统之网络配置(双网卡、内外网分离)

现在我需要在我本地配置的PVE系统上配置双网卡,然后一个连接外部网络(访问互联网),一个连接内部网络(只能和宿主机之间互相访问) 最终效果: 登录PVE平台,我可以正常访问外网&#…

获取淘宝销量API商品详情页原数据APP接口:测试key获取(含测试链接)

淘宝/天猫获得淘宝app商品详情原数据 API 返回值说明 item_get_app-获得淘宝app商品详情原数据 公共参数 名称类型必须描述keyString是调用key(必须以GET方式拼接在URL中)secretString是调用密钥api_nameString是API接口名称(包括在请求地…

替换空格(替换特定字符)

😀前言 在字符串处理中,经常会遇到需要替换特定字符的情况。本文将介绍一道经典的字符串替换问题:将字符串中的空格替换成 “%20”。我们将探讨一种高效的解决方法,通过倒序遍历字符串来实现原地替换,避免额外空间的开…

python(使用循环显示四种模式)

代码: # 模式A for i in range(1, 6):for j in range(1, 6):if i j:print(i, end"")else:print(" ", end"")print()# 模式B for i in range(1, 6):for j in range(1, 6):if i j 7:print(j, end"")else:print(" &q…

C++ 构建太慢的 5 个信号

从我的个人经验来看,我们每天庸庸碌碌,忙于处理各种各样的任务,但却并一定不了解这些处理方式背后的真实原因。与之相应地,我们自然也都不清楚每个决定背后的原因。在工作和个人生活上,大都如此。大家遵循着一种特定的…

【Spring Security】2.实现最简单的身份验证

文章目录 一、找到官网的身份认证(authentication)示例代码二、实现最简单的身份验证1、创建Spring Boot项目2、创建IndexController3、创建index.html4、启动项目测试Controller 三、{/logout}的作用四、页面样式无法加载的问题 一、找到官网的身份认证…

MyBatis 入门使用(二)

MyBatis的开发有两种方式:注解和XML,上一期我们学习了使用注解的方式,这期我们学习XML的方式。 使用注解主要是用来完成一些简单的增删改查功能,如果需要实现复杂的SQL功能,建议使用XML来配置映射语句。 1. 使用步骤…

性能优化 - 你能说一说,为什么做了骨架屏,FCP的指标还是没有提升吗

难度级别:中高级及以上 提问概率:80% FCP的全程是First Contentful Paint,是衡量网页性能的一个重要指标,很多人把FCP理解为元素内容首次渲染到浏览器上的时间。但由于现在比较流行的Vue或是React项目中,HTML文档最初只有一个id为app的DIV…

篮球竞赛|基于Springboot的篮球竞赛预约平台系统设计与实现(源码+数据库+文档)

篮球竞赛预约平台目录 基于Springboot的篮球竞赛预约平台系统设计与实现 一、前言 二、系统设计 三、系统功能设计 1、前台: 2、后台 管理员功能 用户功能 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff…

武汉星起航深入分析市场动态,赢得跨境市场的高度认可

随着全球跨境电商的蓬勃发展,武汉星起航以其独到的市场洞察和深度合作模式在行业中崭露头角。公司凭借对市场趋势、消费者需求和竞争格局的敏锐洞察而声名鹊起,不仅成功跟随市场脉搏,更在竞争激烈的跨境电商领域中脱颖而出。 武汉星起航在制…

阿里云服务器可以干嘛?阿里云服务器八大用途介绍

阿里云服务器可以干嘛?能干啥你还不知道么!简单来讲可用来搭建网站、个人博客、企业官网、论坛、电子商务、AI、LLM大语言模型、测试环境等,阿里云百科aliyunbaike.com整理阿里云服务器的用途: 阿里云服务器活动 aliyunbaike.com…