日期有关的算法题(ctime库的使用)
在leetcode中有许多和日期计算相关的题目,我在这里对这些题目进行总结,并尽量使用简单的方式(调库)来解决这些题目。
首先来看看有哪些题目
题目展示
1360. 日期之间隔几天
请你编写一个程序来计算两个日期之间隔了多少天。
日期以字符串形式给出,格式为
YYYY-MM-DD
,如示例所示。示例 1:
输入:date1 = "2019-06-29", date2 = "2019-06-30" 输出:1示例 2:
输入:date1 = "2020-01-15", date2 = "2019-12-31" 输出:15提示:
- 给定的日期是
1971
年到2100
年之间的有效日期。
2409. 统计共同度过的日子数
Alice 和 Bob 计划分别去罗马开会。
给你四个字符串
arriveAlice
,leaveAlice
,arriveBob
和leaveBob
。Alice 会在日期arriveAlice
到leaveAlice
之间在城市里(日期为闭区间),而 Bob 在日期arriveBob
到leaveBob
之间在城市里(日期为闭区间)。每个字符串都包含 5 个字符,格式为"MM-DD"
,对应着一个日期的月和日。请你返回 Alice和 Bob 同时在罗马的天数。
你可以假设所有日期都在 同一个 自然年,而且 不是 闰年。每个月份的天数分别为:
[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
。示例 1:
输入:arriveAlice = "08-15", leaveAlice = "08-18", arriveBob = "08-16", leaveBob = "08-19" 输出:3 解释:Alice 从 8 月 15 号到 8 月 18 号在罗马。Bob 从 8 月 16 号到 8 月 19 号在罗马,他们同时在罗马的日期为 8 月 16、17 和 18 号。所以答案为 3 。示例 2:
输入:arriveAlice = "10-01", leaveAlice = "10-31", arriveBob = "11-01", leaveBob = "12-31"