介绍:
在家里,我们有一个时钟,每小时都会敲定一个既定数量的时钟,但也每半小时敲一次。因此,从0:01到12:00(包括12:00)按以下顺序进行:
1, 1, 1, 2, 1, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 11, 1, 12
挑战:
给定一个整数n
,输出一个总罢工等于的时间范围列表n
。此外,请务必在该时间范围之前至少1分钟开始,并在此时间范围之后至少1分钟(最多29分钟)结束。
例如,如果输入为n=8
,则输出可能为:
[00:59-03:01, 01:29-03:31, 02:59-04:01, 05:29-06:31, 06:29-07:01, 06:59-07:31, 07:59-08:01]
对于这些时间范围,它们的总和如下8
:
[1+1+2+1+3, 1+2+1+3+1, 3+1+4, 1+6+1, 1+7, 7+1, 8]
挑战规则:
- 输出灵活。您可以输出为时间(或日期/日期时间)对象,时间戳记,字符串(带或不带前导零),带
.29
/.31
/.59
/的小数.01
(即0.29-3.01
代替00:29-03:01
)等。只要清楚,它就在时间范围的前后。
此外,您可以自己选择金额。在我的所有示例中,我使用1分钟,但您也可以选择5分钟,15分钟等。这也意味着您可以使用.4
/.6
/.9
/.1
(即0.4-3.1
代替00:24-03:06
)。该列表也很灵活。可以是列表/集合,数组,分隔符分隔的字符串,每行打印到STDOUT等,
请说明您做出的输出选择。注意:不允许您输出上述时间范围的总和,此处仅作说明。您必须输出时间范围,包括之前和之后的时间。 - 罢工确实从
12:00
到结束00:30
。因此,如果n=14
两个时间范围分别是11:29-00:31
和11:59-01:01
。 - 输入将在范围内
1 <= n <= 90
,其中90是所有可能的警示的总和。 - 您返回的时间范围可以是任何顺序。
通用规则:
- 这是代码高尔夫球,因此最短答案以字节为单位。
不要让代码高尔夫球语言阻止您使用非代码高尔夫球语言发布答案。尝试针对“任何”编程语言提出尽可能简短的答案。 - 标准规则适用于您的答案,因此您可以使用STDIN / STDOUT,具有正确参数的函数/方法和返回类型的完整程序。你的来电。
- 默认漏洞是禁止的。
- 如果可能的话,请添加一个带有测试代码的链接。
- 另外,如有必要,请添加说明。
测试用例:
(全部使用时间范围和前导零之前/之后的1分钟)
Input: 8
Ouput:
[00:59-03:01, 01:29-03:31, 02:59-04:01, 05:29-06:31, 06:29-07:01, 06:59-07:31, 07:59-08:01]
Input: 14
Output:
[00:29-04:01, 00:59-04:31, 02:59-05:01, 04:29-06:31, 05:59-07:01, 11:29-00:31, 11:59-01:01]
Input: 90
Output:
[00:29-00:01, 00:59-00:31, 01:29-01:01, 01:59-01:31, 02:29-02:01, 02:59-02:31, 03:29-03:01, 03:59-03:31, 04:29-04:01, 04:59-04:31, 05:29-05:01, 05:59-05:31, 06:29-06:01, 06:59-06:31, 07:29-07:01, 07:59-07:31, 08:29-08:01, 08:59-08:31, 09:29-09:01, 09:59-09:31, 10:29-10:01, 10:59-10:31, 11:29-11:01, 11:59-11:31]
Input: 1
Output:
[00:29-00:31, 00:59-01:01, 01:29-01:31, 02:29-02:31, 03:29-03:31, 04:29-04:31, 05:29-05:31, 06:29-06:31, 07:29-07:31, 08:29-08:31, 09:29-09:31, 10:29-10:31, 11:29-11:31]
Input: 2
Output:
[00:29-01:01, 00:59-01:31, 01:59-02:01]
.4
/ .6
/ .9
/ .1
是允许的(就像您说的那样是6分钟::24
/ :36
/ :54
/ :06
)。