हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो 1 और n के बीच n + 1 पूर्णांकों की केवल पढ़ने योग्य सरणी लेता है।
फ़ंक्शन को एक संख्या मिलनी चाहिए जो रैखिक समय में दोहराती है और अधिकतम 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