Zurück zu den Herausforderungen
Einfach 0 gelöst 0% Erfolgsquote

Hours, Minutes, and Seconds

Convert a duration in seconds to a compact readable string.

Das lernst du

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

Problem

Übersetzung anzeigen

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.

Einschränkungen

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

Beispiele

Beispiel 1
Eingabe:
seconds = 7325

Erwartete Ausgabe:
expected = "2h 2m 5s"
Eingabe:
long long seconds = 7325;

Erwartete Ausgabe:
std::string expected = "2h 2m 5s";
Eingabe:
long seconds = 7325;

Erwartete Ausgabe:
string expected = "2h 2m 5s";

Erläuterung

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

Beispiel 2
Eingabe:
seconds = 120

Erwartete Ausgabe:
expected = "2m"
Eingabe:
long long seconds = 120;

Erwartete Ausgabe:
std::string expected = "2m";
Eingabe:
long seconds = 120;

Erwartete Ausgabe:
string expected = "2m";

Erläuterung

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

So gehst du vor

Versuch es zuerst allein und öffne dann einen Hinweis nach dem anderen.

Hinweis 1

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

Hinweis 2

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

Hinweis 3

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

Erwartete Komplexität

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

Referenzen

Diese Aufgabe wurde für CodeUtility angepasst. Beachte die oben genannten Vorgaben und Einschränkungen.

Von anderen lernen

Community-Lösungen

Noch keine veröffentlichten Lösungen. Löse die Aufgabe und teile als Erster eine Lösung.