Дали задачу на собеседовании, написать в функциональном стиле на скале функцию, которая принимает три целых числа и возвращает для них сумму квадратов двух максимальных чисел. Корявенько получилось придумать такое:
  def twoMaxSquareSum(a: Int, b: Int, c: Int): Int =
    {
      def min(): Int =
        {
          if (a < b && a < c) {
            return a;
          } else if (b < c) {
            return b;
          } else return c;
        }
      def square(x:Int):Int=
      {
        return x*x;
      }
      
      return List(a,b,c).map (square(_)).foldLeft(0)(_ + _)-square(min)
    }
Добавление: А какой вариант вы бы безоговорочно приняли на собеседовании как оптимальный?






