Показать самое длинное имя

Опубликовано: 27 Февраля, 2023

Учитывая список имен в массиве arr[] размера N , отобразите самое длинное имя, содержащееся в нем. Если есть несколько самых длинных имен, выведите все это.

Примеры:

Input: arr[] = {“GeeksforGeeks”, “FreeCodeCamp”, “StackOverFlow”,  “MyCodeSchool”}
Output: GeeksforGeeks StackOverFlow
Explanation: size of arr[0] and arr[2] i.e., 13 > size of arr[1]  and arr[3] i.e., 12

Input:  arr[] = {“Akash”, “Adr”}
Output: Akash

Подход : следуйте данной идее, чтобы решить проблему:

Traverse the given array and store the names with the maximum length, if a name with greater length is found update max length and add that name to the final answer.

Следуйте инструкциям, чтобы решить эту проблему:

  • Если N = 0 , то просто вернитесь.
  • Создайте массив res для хранения ответа.
  • В противном случае Initialize Max = size of arr[0] и вставьте arr[0] в res .
  • Теперь пройдитесь по массиву и проверьте
    • Если размер arr[i] = Max, то вернуть arr[i] в векторное разрешение.
    • Иначе Если размер arr[i] > Max, то
      • Set, Max = размер обр [ i ]
      • Очистить массив res
      • Вставьте обр [ i ] в разрешение
  • Вернуть res как окончательный ответ

Ниже приведена реализация вышеуказанного подхода:

Временная сложность : O(N), где N — размер данного массива.
Вспомогательное пространство : O(N) для хранения имен в массиве res.