这很简单:打印ASCII 甘特图。
给定任务的范围(开始时间-结束时间元组),请以-
字符形式为每个任务持续时间-每个任务在新行中打印甘特时间轴。
例
说我的任务范围是28->35, 34->40, 39->44
,甘特图将如下所示:
-------
------
-----
技术指标
- 您可以编写完整的程序,命名函数或匿名函数。
- 您的程序/函数应通过STDIN 或作为参数接受任务。
- 每个任务应表示为
start->end
wherestart
和end
are Integers的字符串。任务由空格或逗号分隔。或者,您可以将其作为整数元组或2个整数的数组/集合来获取。(例如,在JavaScript中,您可以按以下方式获取它[start,end]
-允许这样做)。 - 任何非负数的任务(参数)都应受支持。
为了清楚起见,不允许使用任务收集的单个参数。您可以解析单个字符串参数,也可以支持零个或多个任务参数。其中task是一个元组或大小为2的集合。- 您可以假设将仅给出有效输入。这意味着每个任务的持续时间都是正的。
- 返回值无关紧要,您的代码必须在STDOUT上打印时间轴。
- 输出:每个任务,
start
空格后接(end-start)
破折号和a\n
。 - 不用说,输出线应该与输入(任务)顺序相对应地排序。
\n
如果可以的话,可以在之前加上空格。
测试用例
Input:
(empty)
Output:
(empty)
Input:
0->7,5->6,3->6
Output:
-------
-
---
Input:
5->20,5->20,2->10,15->19
Output:
---------------
---------------
--------
----
获奖
- 这是代码高尔夫球,因此最小的代码长度(以字节为单位)获胜。
- 传统上,决胜局是较早的职位。
- “标准漏洞不再有趣”。
-----
编辑
你们中的许多人都知道,允许有一个单一的任务集合参数,并且由于它与原始varargs要求之间没有太大区别, 因此如果您不想使用它,现在可以有一个单一的集合参数。 varargs选项,或者如果您的语言不支持varargs。
arguments
在函数中进行迭代,但不能假定这arguments[0]
是一个任务数组。
To make it clear...
)根本不清楚。