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

जावास्क्रिप्ट में सेट की सबसे लंबी लंबाई खोजें और वापस करें

<घंटा/>

समस्या

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

सरणी, एआर, लंबाई एन में 0 से एन -1 तक सभी पूर्णांक होते हैं। हमारा कार्य सेट एस की सबसे लंबी लंबाई को ढूंढना और वापस करना है, जहां एस [i] ={ए [i], ए [ए [i]], ए [ए [ए [i]]], ...} अधीन है नीचे दिए गए नियम के अनुसार।

मान लीजिए कि S में पहला तत्व सूचकांक =i के तत्व A[i] के चयन से शुरू होता है, S में अगला तत्व A[A[i]] होना चाहिए, और फिर A[A[A[i]]]… उसके द्वारा सादृश्य, हम एस में डुप्लिकेट तत्व होने से ठीक पहले जोड़ना बंद कर देते हैं।

उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है -

const arr = [5, 4, 0, 3, 1, 6, 2];

तब आउटपुट होना चाहिए−

const output = 4;

आउटपुट स्पष्टीकरण

ए [0] =5, ए [1] =4, ए [2] =0, ए [3] =3, ए [4] =1, ए [5] =6, ए [6] =2.

सबसे लंबे S[K] में से एक:

S[0] = {A[0], A[5], A[6], A[2]} = {5, 6, 2, 0}

उदाहरण

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

const arr = [5, 4, 0, 3, 1, 6, 2];
const arrayNesting = (arr = []) => {
   const visited = {}
   const aux = (index) => {
      if (visited[index]) {
         return 0
      }
      visited[index] = true
      return aux(arr[index], visited) + 1
   }
      let max = 0
      arr.forEach((n, index) => {
         if (!visited[index]) {
            max = Math.max(max, aux(index))
         }
   )
   return max
}
console.log(arrayNesting(arr));

आउटपुट

कंसोल आउटपुट निम्नलिखित है -

4

  1. जावास्क्रिप्ट में सबसे लंबा शब्द बनाना

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो एक यादृच्छिक अंग्रेजी वर्णमाला स्ट्रिंग लेता है, str, पहले तर्क के रूप में और स्ट्रिंग्स की एक सरणी, arr, दूसरे तर्क के रूप में। हमारे फ़ंक्शन का कार्य स्ट्रिंग स्ट्र से कुछ वर्णों को हटाने का प्रयास करना है और यह जांचना है कि कौन सा सबसे लंब

  1. जावास्क्रिप्ट में सबसे लंबी स्ट्रिंग श्रृंखला की लंबाई

    वर्ड चेन मान लें कि शब्द 1 शब्द 2 का पूर्ववर्ती है यदि और केवल तभी हम शब्द 1 में कहीं भी एक अक्षर जोड़ सकते हैं ताकि इसे शब्द 2 के बराबर बनाया जा सके। उदाहरण के लिए, abc abac का पूर्ववर्ती है। =1 के साथ, जहां word_1, word_2 का पूर्ववर्ती है, word_2, word_3 का पूर्ववर्ती है, इत्यादि। समस्या हमें एक

  1. जावास्क्रिप्ट का उपयोग करके एक स्ट्रिंग और इसकी लंबाई में लगातार सबसे लंबे दोहराव वाले चरित्र को खोजना

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो एक स्ट्रिंग लेता है। हमारे फ़ंक्शन को ठीक दो तत्वों की एक सरणी वापस करनी चाहिए, पहला तत्व वर्ण होगा जो स्ट्रिंग में लगातार सबसे अधिक बार प्रदर्शित करता है और दूसरा इसकी उपस्थिति की संख्या होगी। उदाहरण निम्नलिखित कोड है - const str = 'tdfdffddffs