समस्या
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो "घंटे:मिनट" प्रारूप में 24 घंटे के घड़ी समय बिंदुओं की एक सरणी लेता है। हमारे फ़ंक्शन को सरणी में किन्हीं दो समय बिंदुओं के बीच न्यूनतम मिनट का अंतर खोजना चाहिए।
उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है -
const arr = ["23:59","00:00"];
तब आउटपुट होना चाहिए -
const output = 1;
क्योंकि समय के बीच न्यूनतम अंतर 1 मिनट है
उदाहरण
निम्नलिखित कोड है -
const arr = ["23:59","00:00"]; const findMinDifference = (arr = []) => { const find = (str = '') => str.split(':').map(time => parseInt(time, 10)) const mapped = arr.map((time) => { const [hour1, minute1] = find(time) return hour1 * 60 + minute1 }); const sorted = [] let isrepeating = false mapped.forEach((time) => { if (sorted[time] !== undefined || sorted[time + 24 * 60] !== undefined) { isrepeating = true } sorted[time] = time sorted[time + 24 * 60] = time + 24 * 60 }) if (isrepeating) { return 0 } let min = Infinity let prev = null for (let i = 0; i < sorted.length; i++) { if (sorted[i] !== undefined) { if (prev) { min = Math.min(min, sorted[i] - prev) } prev = sorted[i] } } return min }; console.log(findMinDifference(arr));
आउटपुट
कंसोल आउटपुट निम्नलिखित है -
1