val line
= List
("a",
"ab",
"abc",
"xyz",
"mnp",
"ac",
"d",
"b",
"ab",
"bc",
"bd",
"be",
"bf",
"b",
"abc",
"abc",
"pqr",
"mnp",
"jkl",
"a",
"b")
val lengthAndTheWords
= line.
map(x
=> (x.
length,x
)).
groupBy(x
=> x.
_1
).
mapValues(x
=> x.
toSet) val longest
= lengthAndTheWords.
toSeq.
sortBy(key
=> -key.
_1
).
head
println("Max length =" +
longest._1 +
", words are" +
longest._2.map(nextEntry => nextEntry._2).mkString(","))
}
b2JqZWN0IE1haW4gZXh0ZW5kcyBBcHAgewogICAgdmFsIGxpbmUgPSBMaXN0KCJhIiwiYWIiLCJhYmMiLCJ4eXoiLCJtbnAiLCJhYyIsImQiLCJiIiwiYWIiLCJiYyIsImJkIiwiYmUiLCJiZiIsImIiLCJhYmMiLCJhYmMiLCJwcXIiLCJtbnAiLCJqa2wiLCJhIiwiYiIpCgogICAgdmFsIGxlbmd0aEFuZFRoZVdvcmRzID0gbGluZS5tYXAoeCA9PiAoeC5sZW5ndGgseCkpLmdyb3VwQnkoeCA9PiB4Ll8xKS5tYXBWYWx1ZXMoeCA9PiB4LnRvU2V0KQogICAgdmFsIGxvbmdlc3QgPSBsZW5ndGhBbmRUaGVXb3Jkcy50b1NlcS5zb3J0Qnkoa2V5ID0+IC1rZXkuXzEpLmhlYWQKCiAgICBwcmludGxuKCJNYXggbGVuZ3RoID0iICsgCiAgICAgICAgICAgIGxvbmdlc3QuXzEgKwogICAgICAgICAgICAiLCB3b3JkcyBhcmUiICsgCiAgICAgICAgICAgIGxvbmdlc3QuXzIubWFwKG5leHRFbnRyeSA9PiBuZXh0RW50cnkuXzIpLm1rU3RyaW5nKCIsIikpCn0=