leetcode 6184. 统计共同度过的日子数

题目描述

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"
输出:0
解释:Alice 和 Bob 没有同时在罗马的日子,所以我们返回 0 。

提示

所有日期的格式均为 "MM-DD" 。
Alice 和 Bob 的到达日期都 早于或等于 他们的离开日期。
题目测试用例所给出的日期均为 非闰年 的有效日期。

题目思路

将到达和离开的日期换成天数,再根据共同区间日期的思想公式解决 date = MAX{ 0 , MIN(c , d) - MAX(a , b)}(后面的最小值减去前面的最大值日期) 。

class Solution {
public:int months[13]{0,31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};int getString(string s){int a,b,res = 0;sscanf(s.c_str(),"%d-%d",&a,&b);for(int i=1;i<a;i++)res+=months[i];return res+b;}int countDaysTogether(string arriveAlice, string leaveAlice, string arriveBob, string leaveBob) {int a = getString(arriveAlice);int b = getString(leaveAlice);int c = getString(arriveBob);int d = getString(leaveBob);return max(0,min(b,d)-max(a,c)+1);}
};

leetcode 6184. 统计共同度过的日子数相关推荐

  1. LeetCode 2409. 统计共同度过的日子数

    2409. 统计共同度过的日子数 [分析]区间求交问题,假设区间1为[a, b],区间2为[c, d],那么两个区间的共同长度为min(b, d) - max(a, c),如果是天数再+1,不想交的话 ...

  2. 【Leetcode】 2409. 统计共同度过的日子数

    题目链接 2409. 统计共同度过的日子数 - 力扣(LeetCode) 题目本身是一道简单题,但是自己一开始做起来毫无头绪,只是将各种情况的罗列. 即便如此,依旧面临着最后结果如何将字符串转换,以及 ...

  3. 【leetcode】2409. 统计共同度过的日子数(js实现)

    1. 题目 2409. 统计共同度过的日子数 2. 思路 用最早离开的时间 减去 最晚到达的时间,就是重叠的时间. 3. 代码实现 /*** @param {string} arriveAlice* ...

  4. 题目:2409.统计共同度过的日子数

    ​ ​题目来源: leetcode题目,网址:2409. 统计共同度过的日子数 - 力扣(LeetCode) 解题思路: 获取二人共同度过的日子的起始值和终止值,计算即可. 起始值为二人到达日子中的较 ...

  5. 【每日一题Day180】LC2409统计共同度过的日子数 | 模拟

    统计共同度过的日子数[LC2409] Alice 和 Bob 计划分别去罗马开会. 给你四个字符串 arriveAlice ,leaveAlice ,arriveBob 和 leaveBob .Ali ...

  6. LeetCode简单题之统计共同度过的日子数

    题目 Alice 和 Bob 计划分别去罗马开会. 给你四个字符串 arriveAlice ,leaveAlice ,arriveBob 和 leaveBob .Alice 会在日期 arriveAl ...

  7. 【2409. 统计共同度过的日子数】

    来源:力扣(LeetCode) 描述: Alice 和 Bob 计划分别去罗马开会. 给你四个字符串 arriveAlice ,leaveAlice ,arriveBob 和 leaveBob .Al ...

  8. LeetCode 2302. 统计得分小于 K 的子数组数目(前缀和+二分查找)

    文章目录 1. 题目 2. 解题 1. 题目 一个数组的 分数 定义为数组之和 乘以 数组的长度. 比方说,[1, 2, 3, 4, 5] 的分数为 (1 + 2 + 3 + 4 + 5) * 5 = ...

  9. 2022-6-13 咒语和药水的成功对数,替换字符后匹配,统计得分小于 K 的子数组数目,......

    1. 咒语和药水的成功对数 You are given two positive integer arrays spells and potions, of length n and m respec ...

最新文章

  1. javase-线程生命周期
  2. 系统接口对接的进度工作应该谁来干_项目的交付进度总是延迟,项目经理找了很久才发现是这4类原因...
  3. 【HDU - 1599】find the mincost route (Floyd最小环,最短路问题)
  4. 靠知识赚钱只是较高级的体力劳动,靠智慧赚钱才能真正的富有。
  5. 线上多服务管理工具实例剖析
  6. 企业网络信息安全意识宣贯——屏保制作
  7. 用puttygen工具把私钥id_rsa转换成公钥id_rsa.ppk
  8. EasyDarwin测试
  9. 动态服务器值 回放报错 没有关联到_LR关联(带附件) - 缺1份淡定ㄣ - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
  10. 深度学习Hello World --- 手写体识别 实战
  11. safari打不开cookies_从Mac和iOS上的safari阻止cookies的设置方法
  12. 地球的3D模型制作教程【3DsMax】
  13. 【Matlab文件操作】打开、创建、更改和删除文件与文件夹以及获取文件信息
  14. python的数据类型分为复数_Python的基本数据类型
  15. 重装 Macos sierra系统 U盘
  16. TPP稳定性之场景隔离和多租户
  17. webservice接口等待时间_调用webservice超时问题的解决
  18. ASP.NET Core2.1 你不得不了解的GDPR(Cookie处理)
  19. 计算机编程 寒假项目总结,我的软件工程之路--寒假总结
  20. CCF 201803-4棋局评估

热门文章

  1. BCM芯片三层组播原理及调试
  2. Codeforces 1213G
  3. ProTOOLKIT在CREO6.0+VS2015环境下的配置
  4. 中石油集团不会整体上市
  5. cpu真假有没有装机测试软件,【求助】如何用各种测试软件检测硬件好坏真伪?...
  6. lc振荡电路是如何起振的?
  7. 深度学习常用中英文对照表
  8. OUTLOOK Exchange方式设置
  9. c语言if函数多条件怎么输,excel中if函数怎么输入多个条件
  10. 多卡聚合路由器在高铁地铁等轨道交通的应用