【发布时间】:2014-08-14 06:50:36
【问题描述】:
这是一个简单的编码练习。给定一个整数列表,输出一个垂直直方图,显示输入列表中每个数字的数量。如果 lis 为空,则输出一个空字符串。
List(5, 2, 3)
*
*
* *
***
***
我写了一个函数如下:
def hist(l: List[Int]) = if(l.isEmpty) ""
else Range(l.max, 0, -1).map(i => l.map(x => if(i <= x) "*" else " ").mkString)
你会如何解决这个问题?
附:忘了说需要输出结果字符串
val r = hist(List(5, 2, 3))
r.foreach(s => println(s))
【问题讨论】:
-
在 Scala 直方图计算中也可以考虑 stackoverflow.com/q/24536215/3189923。
-
注解更新...
-
感谢您的更新。我认为这可能是解决它的正确方法。让我们等待投票。