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

जावास्क्रिप्ट में समान स्ट्रिंग समूह

<घंटा/>

दो तार str1 और str2 समान हैं यदि हम str1 के दो अक्षरों (विभिन्न स्थितियों में) को स्वैप कर सकते हैं, ताकि यह str2 के बराबर हो। साथ ही, दो तार str1 और str2 समान हैं यदि वे समान हैं।

उदाहरण के लिए, "टार" और "चूहे" समान हैं (0 और 2 की स्थिति में अदला-बदली), और "चूहे" और "कला" समान हैं, लेकिन "तारा" "टार", "चूहे" या "के समान नहीं है। कला"।

साथ में, ये समानता के आधार पर दो जुड़े हुए समूह बनाते हैं:{"tars", "rats", "arts"} और {"star"}। ध्यान दें कि "टार" और "आर्ट्स" एक ही समूह में हैं, भले ही वे एक जैसे न हों।

औपचारिक रूप से, प्रत्येक समूह ऐसा होता है कि एक शब्द समूह में होता है यदि और केवल यदि वह समूह में कम से कम एक अन्य शब्द के समान हो।

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

उदाहरण

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

const arr = ["tars","rats","arts","star"];
const isSimilar = (str1, str2) => {
   const obj = {}
   let counter = 0
   for(let i=0; i< str1.length; i++){
      if(str1[i] !== str2[i]) { counter++ }
         obj[str1[i]] = str2[i]
      }
      return counter === 2? true : false
   }
   const similarStringGroup = (arr = []) => {
      const group = [[arr[0]]]
      for(let i=1; i<arr.length; i++){
         let match = false
         for(let j=0; j<group.length; j++){
            for(let k=0; k< group[j].length; k++){
               const booleanMatch = isSimilar(group[j][k], arr[i])
               if(booleanMatch) {
                  group[j].push(arr[i]);
                  match = true
                  break;
               }
            }
            if(match === true) { break }
         }
         if(match === false){ group.push([arr[i]]) }
      }
      return group.length
}
console.log(similarStringGroup(arr));

आउटपुट

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

2

  1. जावास्क्रिप्ट स्प्लिट:एक चरण-दर-चरण मार्गदर्शिका

    जावास्क्रिप्ट स्प्लिट () विधि एक स्ट्रिंग को सबस्ट्रिंग की एक सरणी में विभाजित करती है। ये सबस्ट्रिंग एक नई सरणी में जोड़े जाते हैं। स्प्लिट () सबस्ट्रिंग की नई सरणी देता है। जब आप प्रोग्रामिंग कर रहे होते हैं, तो ऐसे मामलों को देखना आम है जहां आपको बड़े स्ट्रिंग से कुछ टेक्स्ट प्राप्त करने की आव

  1. जावास्क्रिप्ट में स्ट्रिंग्स का परिचय

    जावास्क्रिप्ट में एक स्ट्रिंग, जैसा कि कई अन्य प्रोग्रामिंग भाषाओं में होता है, एक डेटा प्रकार है जो टेक्स्ट के रूप में डेटा रखता है। वेब एप्लिकेशन के संदर्भ में स्ट्रिंग्स के लिए एक सामान्य उपयोग एक फॉर्म से उपयोगकर्ता के इनपुट को होल्ड करना है। खोज प्रपत्र का उदाहरण लेते हुए, खोज क्वेरी को एक स्ट्

  1. जावास्क्रिप्ट एक स्ट्रिंग को बूलियन में बदलें

    जावास्क्रिप्ट में एक स्ट्रिंग को बूलियन में बदलने के लिए, कोड इस प्रकार है - उदाहरण <!DOCTYPE html> <html> <head> <style>    body {       font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;    } </style> </head&g