К списку задач
Легко Решено: 0 Процент решений: 0%

Hours, Minutes, and Seconds

Convert a duration in seconds to a compact readable string.

Чему вы научитесь

  • Split seconds into hours, minutes and seconds
  • Use division and remainder together
  • Format parts into a readable string

Условие

Показать перевод

Split a duration into hours, minutes, and seconds. Write units as h, m, and s, in that order, with one space between units. Omit any zero-valued unit, except that zero seconds is written as 0s.

Implement format_duration(seconds).

Input

seconds: The total duration in seconds.

Output

Return the formatted duration, for example 2h 2m 5s.

Ограничения

0 ≤ seconds ≤ 1,000,000,000. Hours may exceed 23; this is a duration, not a time of day.

Примеры

Пример 1
Ввод:
seconds = 7325

Ожидаемый вывод:
expected = "2h 2m 5s"
Ввод:
long long seconds = 7325;

Ожидаемый вывод:
std::string expected = "2h 2m 5s";
Ввод:
long seconds = 7325;

Ожидаемый вывод:
string expected = "2h 2m 5s";

Пояснение

7325 = 2 × 3600 + 2 × 60 + 5.

Пример 2
Ввод:
seconds = 120

Ожидаемый вывод:
expected = "2m"
Ввод:
long long seconds = 120;

Ожидаемый вывод:
std::string expected = "2m";
Ввод:
long seconds = 120;

Ожидаемый вывод:
string expected = "2m";

Пояснение

120 seconds is exactly 2 minutes. Omit the zero hours and seconds.

Как подступиться

Сначала попробуйте сами, затем открывайте подсказки по одной.

Подсказка 1

Break the total seconds into larger units first, then format only the nonzero parts.

Подсказка 2

Keep hours, minutes, and seconds in that order, with spaces between included units.

Подсказка 3

If every larger unit is zero, still make sure the output is exactly 0s when the duration is zero.

Ожидаемая сложность

O(1) time, O(1) extra space

Ссылки

Это задание адаптировано для CodeUtility. Следуйте условию и ограничениям выше.

Учитесь у других

Решения сообщества

Пока нет опубликованных решений. Решите задание, чтобы поделиться первым.