【Java|golang】2409. 统计共同度过的日子数

news2024/11/23 17:33:04

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 的到达日期都 早于或等于 他们的离开日期。
题目测试用例所给出的日期均为 非闰年 的有效日期。

 int[] array=new int[]{0,31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    public  int countDaysTogether(String arriveAlice, String leaveAlice, String arriveBob, String leaveBob) {
        for (int i = 1; i < array.length; i++) {
            array[i]+=array[i-1];
        }
        int res=Math.min(getDay(leaveAlice),getDay(leaveBob))-Math.max(getDay(arriveAlice),getDay(arriveBob))+1;
        if (res>0){
            return res;
        }
        return 0;
    }
    public int getDay(String str){
        return array[Integer.parseInt(str.substring(0,2))-1]+
                Integer.parseInt(str.substring(3));
    }

在这里插入图片描述

var array []int =[]int{0,31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
func countDaysTogether(arriveAlice string, leaveAlice string, arriveBob string, leaveBob string) int {
	for i := 1; i < len(array); i++ {
		array[i]+=array[i-1]
	}
	min1,min2:=getDay(leaveAlice),getDay(leaveBob)
	max1,max2:=getDay(arriveAlice),getDay(arriveBob)
	if min1>min2 {
		min1=min2
	}
	if max2>max1 {
		max1=max2
	}
	res:=min1-max1+1
	if res>0{
		return res
	}
	return 0
}

func getDay(str string) int {
	index,_:=strconv.Atoi(str[0:2])
	v,_:=strconv.Atoi(str[3:])
    return array[index-1]+v
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数字孪生灌区信息化-灌区现代化建设

平台概述 柳林数字孪生灌区信息化平台以物理灌区为单元、时空数据为底座、数学模型为核心、水利知识为驱动&#xff0c;对物理灌区全要素和建设运行全过程进行数字映射、智能模拟、前瞻预演&#xff0c;与物理灌区同步仿真运行、虚实交互、迭代优化&#xff0c;实现对物理灌区…

企业不会用、不敢用AIGC+ 服务怎么办,不妨试一下它?

自从去年ChatGPT上线后,国内外与AIGC相关的话题就一直备受关注。AIGC是指人工智能通用语言模型(Artificial General Language Model),是一种具有极高自然语言理解能力的人工智能模型,其通过大规模语料库训练,能够像人类一样自然地理解和生成语言。ChatGPT正是基于AIGC技术开发的…

数据挖掘(3.1)--频繁项集挖掘方法

目录 1.Apriori算法 Apriori性质 伪代码 apriori算法 apriori-gen(Lk-1)【候选集产生】 has_infrequent_subset(c,Lx-1)【判断候选集元素】 例题 求频繁项集&#xff1a; 对于频繁项集L{B,C,E}&#xff0c;可以得到哪些关联规则&#xff1a; 2.FP-growth算法 FP-tre…

sealos部署k8s集群

使用sealos部署kubernetes集群并实现集群管理 1. 初始环境 官方参考&#xff1a;https://www.sealyun.com/zh-Hans/docs/ 1.1 主机准备 都是静态ip&#xff0c;可上网 主机名主机IP服务器配置k8s-master01192.168.200.1002c4g 40Gk8s-node01192.168.200.1012c4g 40Gk8s-no…

Pytorch实现R-CNN系列目标检测网络

在PyTorch提供的已经训练好的图像目标检测中,均是R-CNN系列的网络&#xff0c;并且针对目标检测和人体关键点检测分别提供了容易调用的方法。针对目标检测的网络&#xff0c;输入图像均要求使用相同的预处理方式&#xff0c;即先将每张图像的像素值预处理到0 &#xff5e;1之间…

Flink 优化 (一) --------- 资源配置调优

目录一、内存设置1. TaskManager 内存模型2. 生产资源配置示例二、合理利用 cpu 资源1. 使用 DefaultResourceCalculator 策略2. 使用 DominantResourceCalculator 策略3 使用 DominantResourceCalculator 策略并指定容器 vcore 数三、并行度设置1. 全局并行度计算2. Source 端…

和猿辅导国奖选手的妈妈聊聊:数学新生代的成长之路

2023年第64届IMO中国国家队名单公布&#xff0c;来自猿辅导的学员王淳稷、孙启傲在此次国家队选拔赛中总成绩排名分列第一、第二&#xff0c;将于今年7月代表中国奔赴日本参加IMO竞赛。 值得一提的是&#xff0c;孙启傲同学继入选2022年IMO国家集训队、获阿里巴巴全球数学竞赛…

ubuntu(20.04)-shell脚本(2)echo-date-awk-sed-iptables-shell变量数组

1.echo 语法:echo [-ne][字符串]补充说明: 1、echo会将输入的字符串送往标准输出。 2、输出的字符串间以空白字符隔开,并在最后加上换行号。OPTIONS&#xff1a; -n 不要在最后自动换行 -e 若字符串中出现以下字符&#xff0c;则特别加以处理&#xff0c;而不会将它当成一般文…

【学习时序论文】

目录【2021 NeurIPS】Autoformer: Decomposition Transformers with Auto-Correlation for Long-Term Series Forecasting【2022 ICML】FEDformer: Frequency Enhanced Decomposed Transformer for Long-term Series Forecasting【2023 ICLR】TIMESNET: TEMPORAL 2D-VARIATION …

deque,stack,quque容器

一、deque 1.基本概念 功能: 双端数组&#xff0c;可以对头端进行插入删除操作 deque与vector区别: vector对于头部的插入删除效率低&#xff0c;数据量越大&#xff0c;效率越低. deque相对而言&#xff0c;对头部的插入删除速度会比vector快 vector访问元素时的速度会比de…

NDK编译脚本

一、如何通过NDK进行编译。 1、新建jni文件夹&#xff0c;并将Android.mk、Applicatio n.mk、源文件都放入其中。 2、编写Android.mk文件。 LOCAL_PATH : $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE: test LOCAL_C_ALL_FILES : test.c LOCAL_SRC_FILES : $(LOCAL_C_…

centos7虚拟机在集群zookeeper上面配置hbase的具体操作步骤

系列文章目录 centos7配置静态网络常见问题归纳_centos7网络问题 centos7克隆虚拟机完成后的的一些配置介绍 虚拟机centos7配置Hadoop单节点伪分布配置教程 卸载centos7自带的jdk的操作步骤 centos7配置zookeeper本地模式与集群模式的详细教程 centos7虚拟机配置集群时间…

HTML引入Typescript编译JS文件 :Uncaught ReferenceError: exports is not defined

初学TypeScript&#xff0c;尝试在html引入ts编译出来的js文件: 报错&#xff1a;Uncaught ReferenceError: exports is not defined 以下是代码&#xff1a; 创建了TS:加入export {}形成独立的作用域&#xff0c;其他ts文件重复声明相同名称的变量。 export {} let str &…

Python和Java二选一该学啥?

首先我们需要了解Python和 Java分别是什么 根据IEEE Spectrum 2022年编程语言排名前十的分别是&#xff1a;Python&#xff0c;C&#xff0c;C&#xff0c;C#&#xff0c;Java&#xff0c;SQL&#xff0c;JavaScript&#xff0c;R&#xff0c;HTML&#xff0c;TypeScript。从该…

专访丨AWS量子网络中心科学家Antía Lamas谈量子计算

​ Anta Lamas Linares&#xff08;图片来源&#xff1a;网络&#xff09; 47岁的Anta Lamas Linares出生于西班牙西北部的圣地亚哥德孔波斯特拉。她在当地学习物理学&#xff0c;然后在牛津大学和加利福尼亚继续深造。后来&#xff0c;她在新加坡领导了亚马逊网络服务&#xf…

Java中线程的常用操作-后台线程、自定义线程工厂ThreadFactpry、join加入一个线程、线程异常捕获

场景 Java中Thread类的常用API以及使用示例&#xff1a; Java中Thread类的常用API以及使用示例_霸道流氓气质的博客-CSDN博客 上面讲了Thread的常用API&#xff0c;下面记录下线程的一些常用操作。 注&#xff1a; 博客&#xff1a;霸道流氓气质的博客_CSDN博客-C#,架构之…

Doris(4):建表

可以通过在mysql-client中执行以下 help 命令获得更多帮助&#xff1a; help create table 1 基本概念 在 Doris 中&#xff0c;数据都以表&#xff08;Table&#xff09;的形式进行逻辑上的描述。 1.1 Row & Column 一张表包括行&#xff08;Row&#xff09;和列&#…

从零开始:如何集成美颜SDK到你的应用中

现在&#xff0c;随着人们对于美的追求不断提升&#xff0c;美颜应用已经成为了人们生活中不可或缺的一部分。在应用中&#xff0c;美颜功能的实现离不开美颜SDK的支持。那么&#xff0c;如何集成美颜SDK到你的应用中呢&#xff1f;下面&#xff0c;我们就来一步步了解。 第一…

Linux复习 / 线程相关----线程互斥 QA梳理

文章目录前言线程互斥Q&#xff1a;什么是临界资源&#xff1f;临界区呢&#xff1f;Q&#xff1a;什么是互斥&#xff1f;Q&#xff1a;数据不一致的本质是什么&#xff1f;Q&#xff1a;用锁对共享资源进行保护的前提是&#xff1a;锁也要作为共享资源被其他线程使用。那么用…

独家 | 招商银行:玩转校园招聘新方式 挖掘金融科技新人才

数字经济时代&#xff0c;金融科技人才队伍的引进与培养是招商银行人才体系建设的关键任务。 01.金融科技校招2大核心课题 招商银行数字化转型过程中&#xff0c;线上化、生态化、平台化、智能化、数据化全面加速发展&#xff0c;对人才队伍能力提出新要求。 2大核心课题&am…