加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

string – 使用scala开始的后缀数组

发布时间:2020-12-16 18:43:06 所属栏目:安全 来源:网络整理
导读:今天我尝试使用 scala创建后缀数组.我能够用大量代码完成它但后来我听说可以通过使用压缩和排序仅使用几行来创建它. 我现在遇到的问题是从一开始.我尝试使用二进制搜索和zipWithIndex创建以下“树”,但到目前为止我还没有能够创建任何东西.我甚至不知道是否
今天我尝试使用 scala创建后缀数组.我能够用大量代码完成它但后来我听说可以通过使用压缩和排序仅使用几行来创建它.

我现在遇到的问题是从一开始.我尝试使用二进制搜索和zipWithIndex创建以下“树”,但到目前为止我还没有能够创建任何东西.我甚至不知道是否有可能只使用一条线,但我打赌它是大声笑.

我想做的是从一个词“芝士蛋糕”得到一个Seq:

Seq((cheesecake,0),(heesecake,1),(eesecake,2),(esecake,3),(secake,4),(ecake,5),(cake,6),(ake,7),(ke,8),(e,9))

有人会把我推到正确的道路上吗?

解决方法

要生成String(或任何其他 scala.collection.TraversableLike)的所有可能后缀,您只需使用 tails方法:

scala> "cheesecake".tails.toList
res25: List[String] = List(cheesecake,heesecake,eesecake,esecake,secake,ecake,cake,ake,ke,e,"")

如果需要索引,则可以使用GenIterable.zipWithIndex

scala> "cheesecake".tails.toList.zipWithIndex
res0: List[(String,Int)] = List((cheesecake,9),("",10))

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读