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

JavaScript में स्ट्रिंग से बनने वाले पालिंड्रोम की संख्या गिनना

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

फ़ंक्शन को दी गई स्ट्रिंग str से ठीक num लंबाई के उन सभी पालिंड्रोम स्ट्रिंग्स की संख्या गिननी चाहिए जिन्हें बनाया जा सकता है। फ़ंक्शन को अंत में वह गिनती लौटानी चाहिए।

उदाहरण

यदि इनपुट स्ट्रिंग और संख्या है:

const str = 'ij'; const num = 4;

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

const output = 4;

क्योंकि वे चार संभावित पालिंड्रोम स्ट्रिंग्स हैं:

'iiii', 'jjjj', 'ijji', 'jiij'

दृष्टिकोण:

हम पहले हैश सेट का उपयोग करके दी गई स्ट्रिंग में अद्वितीय अक्षरों की संख्या गिनेंगे। यदि पालिंड्रोम की लंबाई विषम संख्या है, तो मध्य वर्ण के u विकल्प हो सकते हैं जहां u स्ट्रिंग में अद्वितीय वर्णों की संख्या है।

जब num सम होता है, तो हमारे पास निम्नलिखित संभावनाएं होती हैं:

power(u, num/2)

और जब num विषम होता है, तो हमें इस संख्या को u से गुणा करना होगा क्योंकि उस स्थान के लिए हमारे पास u विकल्प होते हैं।

कोड उदाहरण

const str = 'ij'; const num = 4;
const findValidPalindromes = (str = '', num = 1) => {
  const set = new Set();
  for(let i = 0; i < str.length; i++){
    const el = str[i];
    set.add(el);
  };
  const u = set.size;
  if(num & 1){
    return Math.pow(u, num/2) * u;
  }else{
    return Math.pow(u, num/2);
  };
};
console.log(findValidPalindromes(str, num));

आउटपुट

4
  1. - JavaScript में क्या रिवर्स नंबर एक अभाज्य संख्या है?

    समस्याहमें एक JavaScript फ़ंक्शन लिखना है जो एक संख्या लेता है और यदि उस संख्या का रिवर्स एक अभाज्य संख्या है तो true लौटाता है, अन्यथा false।उदाहरणनिम्नलिखिक कोड है − { let sqrtnum = Math.floor(Math.sqrt(num)); let prime = num !== 1; for(let i = 2; i isPrime(findReverse(num)); console.log(is

  1. - JavaScript में संख्या को पालिंड्रोम बनाने के चरणों की गिनती

    समस्या हमें एक JavaScript फ़ंक्शन लिखना है जो एक संख्या, num, को पहला और एकमात्र तर्क के रूप में लेता है। हमारे फ़ंक्शन को पालिंड्रोम प्राप्त करने के लिए आवश्यक विशेष चरणों की संख्या वापस करनी चाहिए। विशेष चरण है: अंकों को उल्टा करें, और मूल संख्या में जोड़ें। यदि परिणामी संख्या पालिंड्रोम नहीं है,

  1. - पायथन में दिए गए स्ट्रिंग वर्णों से आकार k के पैलिंड्रोम की संख्या गिनने का प्रोग्राम

    मान लीजिए हमारे पास एक स्ट्रिंग s है जो वर्णमाला के वर्णों को दर्शाती है और एक संख्या k है। हमें उन पैलिंड्रोम की संख्या ढूंढनी है जिन्हें हम केवल s में मौजूद अक्षरों का उपयोग करके लंबाई k का बना सकते हैं। और हम चाहें तो इन अक्षरों का एक से अधिक बार उपयोग कर सकते हैं। उदाहरण के लिए, यदि इनपुट s = x