Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

JavaScript में अधिकतम आवृत्ति वाली सबसे छोटी उपसरणी की लंबाई

समस्या

हमें एक JavaScript फ़ंक्शन लिखना है जो संख्याओं की एक सरणी arr को एकमात्र आर्गुमेंट के रूप में लेता है।

हमारा फ़ंक्शन सरणी arr के एक सन्निकट उपसरणी की सबसे छोटी संभावित लंबाई ढूंढना चाहिए, जिसमें पूरे सरणी के समान किसी तत्व की अधिकतम आवृत्ति हो।

उदाहरण के लिए, यदि इनपुट है:

इनपुट

const arr = [55, 77, 77, 88, 55];

आउटपुट

const output = 2;

आउटपुट व्याख्या

इनपुट सरणी में किसी तत्व की अधिकतम आवृत्ति 2 है क्योंकि 55 और 77 दोनों दो बार आते हैं। जिन उपसरणियों में पूरे सरणी के समान अधिकतम आवृत्ति है, उनमें सबसे छोटी लंबाई 2 है। इसलिए हम 2 लौटाते हैं।

उदाहरण

निम्नलिखित कोड है:

const arr = [55, 77, 77, 88, 55]; const shortestLength = (arr) => {   let freq = 0;   let len = Infinity;   arr.reduce((acc, num, index) => {     if (acc[num] !== undefined) {       acc[num].freq += 1;       acc[num].range[1] = index;     } else {       acc[num] = {         freq: 0,         range: [index, index],       };     }     if (acc[num].freq > freq) {       freq = acc[num].freq;       len = acc[num].range[1] - acc[num].range[0] + 1;     } else if (acc[num].freq === freq) {       len = Math.min(len, acc[num].range[1] - acc[num].range[0] + 1);     }     return acc;   }, {});   return len; }; console.log(shortestLength(arr));

आउटपुट

2
  1. JavaScript Array.length प्रॉपर्टी: एरे की लंबाई प्राप्त/सेट करें JavaScript Array.length प्रॉपर्टी: एरे की लंबाई प्राप्त/सेट करें

    Array.length प्रॉपर्टी एरे में तत्वों की संख्या लौटाती है या सेट करती है। यह 0-आधारित इंडेक्सिंग के कारण अंतिम इंडेक्स + 1 होती है। यह लिखने योग्य है - लंबाई बदलने से एरे ट्रंकेट या विस्तारित होता है। उदाहरण { fillEle.innerHTML = एरे की लंबाई है: + arr.length; }); </script> &

  1. JavaScript में ऐरे ऑब्जेक्ट की लंबाई JavaScript में ऐरे ऑब्जेक्ट की लंबाई

    JavaScript में Length प्रॉपर्टी ऑब्जेक्ट का आकार लौटाती है। स्ट्रिंग और ऐरे ऑब्जेक्ट की लंबाई के लिए कोड निम्न है -उदाहरण<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, i

  1. क्या पहले से घोषित वेरिएबल्स को डीस्ट्रक्चर करना संभव है? जावास्क्रिप्ट में? क्या पहले से घोषित वेरिएबल्स को डीस्ट्रक्चर करना संभव है? जावास्क्रिप्ट में?

    जावास्क्रिप्ट में पहले से घोषित वेरिएबल्स को डीस्ट्रक्चर करने के लिए निम्नलिखित कोड है: उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /&