algorithm - 找到至少具有 X 长度的第一个区间的算法
问题描述
给定以下有序间隔:
[0, 2.99], [5 - 7.9], [23 - 24.99], [34 - 48.99]
如何找到从 4.9 开始至少长度为 4 的第一个间隔?在这种情况下,正确的区间是 [34 - 48.99]
循环遍历所有间隔不是解决方案,因为间隔的数量可能非常高
编辑:
@idz 抱歉,细节很差。这些间隔是日期时间,它们从今天午夜开始,并以 59 递增,例如:
注意第三和第四间隔之间的差距
23/10/2020 00:00 to 23/10/2020 00:59 is converted to [0, 59]
23/10/2020 01:00 to 23/10/2020 01:59 is converted to [60, 119]
23/10/2020 02:00 to 23/10/2020 02:59 is converted to [120, 179]
23/10/2020 07:00 to 23/10/2020 07:59 is converted to [420, 479]
当一切开始时,它是一个单一的区间,即 [0 - 479]
在最初的问题中,为了简单起见,我还省略了一个细节:两个间隔之间的长度不是右极 - 左极之间的差异,而是它们之间有多少个单独的日期时间。即:
0 - 479 长度为 4
120 - 479 长度为 2
谢谢
解决方案
推荐阅读
- apache - xampp 设置与服务器的稳定连接
- angular - @angular/compiler-cli 的版本需要为 2.3.1 或更高版本。当前版本是“7.0.1”
- laravel - 注销后如何重定向回来,除非页面需要身份验证?
- vuetify.js - vuetifyjs:如何在 v-data-table 中创建多行标题?
- c# - 我应该如何通过 Autofac.Dependency 注入库将参数传递给 Autofac 容器以进行自动依赖解析
- javascript - 计算多个输入的差异并写在页面上
- c++ - 复合赋值重载 (C++)
- apache-httpclient-4.x - Apache HTTPClient DigestAuth 不会从 Challenge 转发“不透明”值
- java - Spring Boot在配置问题中定义bean
- css - 使两列高度相等的问题