gpt4 book ai didi

scala - Scala 中的垂直直方图

转载 作者:行者123 更新时间:2023-12-01 16:11:09 26 4
gpt4 key购买 nike

这是一个简单的编码练习。给定一个整数列表,输出一个垂直直方图,显示输入列表中每个数字的数量。如果 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))

最佳答案

下面是我将如何编写您实现的函数:

def hist(xs: Seq[Int]): String =
xs.map(i => Seq.fill(i)('*').padTo(xs.max, ' '))
.transpose.reverse.map(_.mkString).mkString("\n")

但是 Seq(5,2,3) 的直方图看起来更像

 ** *
12345

?

关于scala - Scala 中的垂直直方图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25301752/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com