समस्या
किसी अवधि को घंटे, मिनट और सेकंड में विभाजित करें। इकाइयों को क्रमशः h, m, और s के रूप में लिखें, और इकाइयों के बीच एक स्पेस रखें। किसी भी शून्य मान वाली इकाई को छोड़ दें, सिवाय इसके कि शून्य सेकंड को 0s के रूप में लिखा जाता है।
format_duration(seconds) को लागू करें।
इनपुट
seconds: कुल अवधि, सेकंड में।
आउटपुट
स्वरूपित अवधि लौटाएँ, उदाहरण के लिए 2h 2m 5s।
सीमाएँ
0 ≤ seconds ≤ 1,000,000,000। घंटे 23 से अधिक हो सकते हैं; यह एक अवधि है, दिन का समय नहीं।
उदाहरण
इनपुट:
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।
इनपुट:
seconds = 120
अपेक्षित आउटपुट:
expected = "2m"
इनपुट:
long long seconds = 120;
अपेक्षित आउटपुट:
std::string expected = "2m";
इनपुट:
long seconds = 120;
अपेक्षित आउटपुट:
string expected = "2m";
व्याख्या
120 सेकंड बिल्कुल 2 मिनट होते हैं। शून्य घंटे और सेकंड को छोड़ दें।
कैसे हल करें
पहले खुद कोशिश करें, फिर एक-एक करके संकेत खोलें।
संकेत 1
Total seconds को पहले बड़े units में तोड़ें, फिर सिर्फ nonzero parts format करें।
संकेत 2
Hours, minutes, और seconds इसी क्रम में रखें, और शामिल units के बीच spaces दें।
संकेत 3
अगर हर बड़ा unit zero है, तब भी duration zero होने पर output exactly 0s होना चाहिए।
अपेक्षित जटिलता
समय O(1), अतिरिक्त स्थान O(1)
संदर्भ
यह चुनौती CodeUtility के लिए अनुकूलित की गई है। ऊपर दिए गए स्टेटमेंट और सीमाओं का पालन करें।