हमें एक JavaScript फ़ंक्शन लिखना है जो n + 1 इंटीजर्स का रीड-ओनली ऐरे लेता है जो 1 और n के बीच हैं।
फ़ंक्शन को एक ऐसी संख्या ढूंढनी चाहिए जो रैखिक समय में और अधिकतम O(n) स्पेस का उपयोग करके दोहराती है।
उदाहरण के लिए यदि इनपुट ऐरे है:
const arr = [3 4 1 4 1];
तो आउटपुट होना चाहिए:
const output = 1;
यदि कई संभावित उत्तर हैं (जैसे ऊपर), तो हमें उनमें से कोई भी आउटपुट करना चाहिए। यदि कोई डुप्लिकेट नहीं है, तो हमें -1 आउटपुट करना चाहिए।
उदाहरण
const arr = [3, 4, 1, 4, 1]; const findRepeatedNumber = (arr = []) => { const set = new Set(); for (const item of arr) { if (set.has(item)){ return item; }; set.add(item); }; return -1; }; console.log(findRepeatedNumber(arr));आउटपुट
इससे निम्नलिखित आउटपुट प्राप्त होगा:
4