社区
Java SE
帖子详情
一个日期重叠的算法
michaellufhl
2010-02-26 08:46:33
如果有一组时间段,譬如说:
2001/1/1~2001/1/5
2006/5/6~2007/1/1
2002/1/1~2003/1/5
2002/5/6~2007/1/1
。。。。
要求算出有时间
重叠
的纪录,譬如说最后那2条就有时间重叠。
当然,我可以最简单的这样算:第1条和2,3,4...比,然后第2条和3,4...
除此之外,有没效率更高的算法呢?
...全文
364
7
打赏
收藏
一个日期重叠的算法
如果有一组时间段,譬如说: 2001/1/1~2001/1/5 2006/5/6~2007/1/1 2002/1/1~2003/1/5 2002/5/6~2007/1/1 。。。。 要求算出有时间重叠的纪录,譬如说最后那2条就有时间重叠。 当然,我可以最简单的这样算:第1条和2,3,4...比,然后第2条和3,4... 除此之外,有没效率更高的算法呢?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wenzheng38
2010-02-28
打赏
举报
回复
就是计算数据区间[Ai,Bi]重叠的问题
这是编程之美中的一道题,先按照Ai的大小从小到大的排序,然后遍历Bi
你可以查查"区间重合判断"
fsh2008
2010-02-27
打赏
举报
回复
我之前做过一个类似的项目,但是这个判断时间重叠的代码不是我写的,当时我只写了在一组时间段中增加一个时间段的方法。
如果我来设计这个,我会先把StartDate和EndDate分别升序排序,然后依次比较第k条的EndDate和第k+1条的StartDate。如果第k条的EndDate比第k+1条的StartDate大,那么说明这两个时间段没有重叠部分,反之,从第k+1条的StartDate到第k条的EndDate这一段是重叠的时间。
期待高手解答更好的方法...
哈特中尉
2010-02-27
打赏
举报
回复
可以拆分字符串!
lz可以在百度上找一些排序的方法,用排序的思想来解决!
siple
2010-02-27
打赏
举报
回复
学习一下,有没有更好的方法
ivfangwang_long
2010-02-27
打赏
举报
回复
学习了~~~~~~~~~~~~~~~~
canoe982
2010-02-27
打赏
举报
回复
如果时间段的条数不是很多,且相对固定,也就是说修改操作较少的话,觉得可以考虑将所有时间点编号、排序,再作比较,应该可以比较简单、快速。
梦_枫
2010-02-27
打赏
举报
回复
期待更好的办法。。。。。。。。
日期
合并java_关于
算法
:合并
重叠
的
日期
范围-Java
我有
一个
Task类,如下所示(使用Java 8 Time API)。class Task {LocalDateTime start;LocalDateTime end;Set actionItems;}我有两个包含此类Task实例的排序列表(首先按开始,然后按结束),让我们说ListtasksList1和ListtasksList2。我想合并
重叠
的任务(通过在需要时打破任务,并从
重叠
的其他任务中添...
May Day Holiday——————
日期
处理,水题
May Day Holiday Time Limit: 2 Seconds Memory Limit: 65536 KB As a university advocating self-learning and work-rest balance, Marjar University has so many days of rest, including holidays and wee...
寒假刷刷
算法
题(17)
暖气坏了 题目描述 蒜头君家的暖气经常出问题,每当暖气坏了,蒜头君就会持续感冒 m 天(从坏的那天算起,两次感冒时间
重叠
不会累加)。蒜头君去寻求预言家的帮助,预言家告诉他接下来 n次暖气片坏掉的时间。根据这个时间,蒜头君就能知道他未来获得感冒的总天数。 输入格式 第一行两个整数n,m,表示暖气片坏掉的次数以及每次感冒的持续天数。 第二行 nn 个整数 a_iai,表示暖气片坏掉的
日期
。 数据范围:1≤n≤10000,1≤m,ai≤10^9,保证ai 是严格递增的。 输出格式
一个
整数,
java计算两个时间段的重合天数
由于我要计算
一个
合同在当月的分摊的金额,所以就要知道这个合同的有效期在本月有多少天,这就要进行两个时间段重合天数的计算。 两个时间段四个时间点,相当于时间轴上的两条线段(b代表起点,e代表端点,b<=e)和4个端点。 可分3种情况:1.不相交。 (b1-----e1)【b2-----e2】(b1-----e1)。if(e1<b2||b1>e2)此时,重合天数为零。2.相...
[经典面试题][去哪网]合并
日期
题目 思路 声明
一个
大小为1001的数组array[1001],全部初始化为0 然后从前向后遍历数组,先处理[0,100,300]再处理[40,50,350]。后面的价格覆盖前面的价格。 代码 /*------------------------------------- *
日期
:2015-04-10 * 作者:SJF0115 * 题...
Java SE
62,620
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章