Problem 28B
(Intermediate 🌟🌟) Again, we suppose that a list contains elements that are lists themselves. But this time the objective is to sort the elements of this list according to their length frequency; i.e., in the default, where sorting is done ascendingly, lists with rare lengths are placed first, others with a more frequent length come later.
variable {α : Type}
-- You can use this!
#check List.mergeSort
def lfsort (l : List (List α)) : List (List α) :=
sorry
-- The following codes are for test and you should not edit these.
#guard lfsort ([[]] : List (List String)) = [[]]
#guard lfsort [[1, 2], [1], [1, 2]] = [[1], [1, 2], [1, 2]]
#guard lfsort [[1, 2], [1], [2, 3]] = [[1], [1, 2], [2, 3]]