समस्या
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो "घंटे:मिनट" प्रारूप में 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