Scala 查找数组中具有最多唯一字符的字符串

Scala 查找数组中具有最多唯一字符的字符串,scala,Scala,给定字符串列表:list(“abcdefghijklmnoprstuwxy”、“aabcdfffgg”… 返回具有最唯一字符的字符串列表(如果有多个这样的字符串,则只打印最短的字符串)。 我使用reduce做了类似的事情,但它不知道它是否工作得很好,而且我也没有涵盖打印最短字符的要求,如果有几个最独特的字符字符串: val string = lst.map(x => x.toLowerCase()).reduce((x,y) => if (x.distinct.size > y

给定字符串列表:
list(“abcdefghijklmnoprstuwxy”、“aabcdfffgg”…
返回具有最唯一字符的字符串列表(如果有多个这样的字符串,则只打印最短的字符串)。 我使用reduce做了类似的事情,但它不知道它是否工作得很好,而且我也没有涵盖打印最短字符的要求,如果有几个最独特的字符字符串:

val string = lst.map(x => x.toLowerCase()).reduce((x,y) => if (x.distinct.size > y.distinct.size) x else y)

如何工作:lst.map(x=>x.toLowerCase()).filter((a,b)=>a.distinct.size>b.distinct.size)??您可以像这样使用内置的
maxByOption
方法: