gpt4 book ai didi

Kotlin - 字符串中的唯一字符

转载 作者:行者123 更新时间:2023-12-05 08:18:12 25 4
gpt4 key购买 nike

我的函数应该返回一个 bool 值,指示输入字符串是否包含所有唯一字符。

例如“abc”返回真,“abca”返回假

fun uniqueCharacters(s: String): Boolean = s.groupBy { it }
.values
.stream()
.allMatch { it.size == 1 }

有没有更有效的方法来解决这个问题?如果我以非功能性方式解决这个问题,我会将所有字符存储在一个 Map 中,其值为该字符到目前为止的计数,如果它大于 1,则中断并返回 false。

不确定如何最好地将其转换为功能性 Kotlin 代码。

最佳答案

您可以使用 all函数和 Set::add 作为它的谓词

fun main() {
println("abc".allUnique()) // true
println("abca".allUnique()) // false
}

fun String.allUnique(): Boolean = all(hashSetOf<Char>()::add)

它是惰性的,函数在找到第一个重复项时返回结果

关于Kotlin - 字符串中的唯一字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62232908/

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