Найдите строку с наибольшим количеством уникальных символов в массиве

#scala

Вопрос:

Учитывая список строк: List("abcdefghijklmnoprstuwxy", "aabcdfffgg" .... Верните список строк с наиболее уникальными символами ( если таких строк несколько, выведите только самые короткие). Я сделал что-то подобное, используя reduce, но не знаю, хорошо ли это работает, а также я не учитывал требование печатать самый короткий, если есть несколько строк с самыми уникальными символами. :

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

Комментарии:

1. Как это сделать: lst.map(x => x.в нижнем регистре()).filter((a,b) =>> a.distinct.size >>> b.distinct.size) ??

2. Вы можете использовать встроенный maxByOption метод следующим образом: scastie.scala-lang.org/BalmungSan/ODCDd2cPTy2TKHvEhqDzGg