हमें एक JavaScript फ़ंक्शन लिखना है जो पहली और एकमात्र आर्गुमेंट के रूप में पूर्णांकों की एक सरणी लेता है।
फ़ंक्शन को तब सरणी के माध्यम से पुनरावृति करनी चाहिए और सरणी से उस सबसे बड़ी संख्या को चुनना चाहिए जो सरणी में केवल एक बार आई हो। उसके बाद, इस संख्या को लौटाएं और यदि सरणी में कोई अद्वितीय संख्या नहीं है, तो हमें -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