हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो पहले और एकमात्र तर्क के रूप में इंटीजर की एक सरणी लेता है।
फ़ंक्शन को फिर सरणी के माध्यम से पुनरावृत्त करना चाहिए और सरणी से उस सबसे बड़ी संख्या को चुनना चाहिए जो केवल एक बार सरणी में दिखाई देता है। उसके बाद, इस नंबर को वापस कर दें और अगर एरे में कोई यूनिक नंबर नहीं है, तो हमें -1 वापस करना चाहिए।
हमें यह भी बताया जाता है कि किसी भी सरणी तत्व का अधिकतम मान 100 से अधिक नहीं होगा और 0 से अधिक होगा जिसका अर्थ है -
0 < arr[i] < 101
सभी के लिए i सरणी अनुक्रमणिका के भीतर।
उदाहरण के लिए -
यदि इनपुट ऐरे है -
const arr = [35, 37, 33, 39, 34, 39, 38, 31];
तब आउटपुट होना चाहिए -
const output = 38;
चूँकि सरणी प्रविष्टियाँ हमेशा 100 से कम या उसके बराबर और 0 से अधिक होंगी, हम मूल सरणी से प्रत्येक संख्या की आवृत्ति को संग्रहीत करने के लिए केवल लंबाई 100 की एक सरणी का उपयोग कर सकते हैं और फिर अद्वितीय तत्व को चुनने के लिए पीछे से पीछे जा सकते हैं।पी>
उदाहरण
इसके लिए कोड होगा -
const arr = [35, 37, 33, 39, 34, 39, 38, 31]; const pickGreatestUnique = (arr = [], bound = 100) => { const map = Array(bound).fill(0); for(let i = 0; i < arr.length; i++){ const num = arr[i]; map[num - 1]++; } for(let j = bound - 1; j >= 0; j--){ const frequency = map[j]; if(frequency === 1){ return j + 1; } } return -1; } console.log(pickGreatestUnique(arr));
आउटपुट
और कंसोल में आउटपुट होगा -
38