小编die*_*orn的帖子

查找地图中最长单词的问题

我有这样的代码,一般来说它工作正常,但是如果有一个最大长单词并且后面跟着长度相同的单词,那么它将只返回1个长单词,而我需要获取最后一个长单词。这就是我的意思,这样的输入:AWord BWord ALongWord BLongWord CLongWord。我的代码将输出 (A)ALongWord,但应该输出 (C)CLongWord,因为它是最新的。

fun main(){
    val result1 = readLine()?.split(" ")?.associateWith { it.length }?.maxBy { it.value }.let{it?.key?.get(0)}.let { println(it) }
}
Run Code Online (Sandbox Code Playgroud)

我认为这可以通过减少来完成,但我不太明白如何,可能我的实现需要重做,因为 maxBy 不允许它完成,如果可能的话,修复我的代码或提供您的解决方案。这是一项学习任务,涉及在集合上使用函数。

kotlin maxby

3
推荐指数
1
解决办法
82
查看次数

标签 统计

kotlin ×1

maxby ×1