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

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

<घंटा/>

समस्या

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

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

यदि ऐसी कोई स्ट्रिंग मौजूद नहीं है, तो हमें एक खाली स्ट्रिंग वापस करनी चाहिए।

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

const str = 'sdgfdfghdjh';
const arr = ['sdf', 'fghj', 'gfdfg', 'absc', 'a', 'hasl'];

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

const output = 'gfdfg';

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

हालांकि सरणी का पहला और दूसरा तत्व स्ट्रिंग से वर्णों को हटाकर बनाया जा सकता है लेकिन 'gfdfg' सबसे लंबी स्ट्रिंग (5) है जिसे हम स्ट्रिंग str से बना सकते हैं।

उदाहरण

इसके लिए कोड होगा -

const str = 'sdgfdfghdjh';
const arr = ['sdf', 'fghj', 'gfdfg', 'absc', 'a', 'hasl'];
const findLongestWord = (str = '', arr = []) => {
   arr.sort((a, b) => {
      if (a.length !== b.length) {
         return b.length - a.length;
      };
      return a.localeCompare(b);
   });
   for(const word of arr){
      let index = -1;
      for(const char of word){
         index = str.indexOf(char, index + 1);
         if(index < 0){
            break;
         };
      };
      if (index >= 0){
         return word;
      };
   };
   return '';
};
console.log(findLongestWord(str, arr));

कोड स्पष्टीकरण:

हम जिन चरणों से गुज़रे वे हैं -

  • सरणी को पहले लंबाई के आधार पर क्रमबद्ध करें, फिर शाब्दिक क्रम से।

  • एआर में प्रत्येक शब्द के माध्यम से लूप करें, यदि शब्द का प्रत्येक वर्ण स्ट्रिंग स्ट्र में नहीं है तो हम बस वापस आ जाते हैं।

  • और अगर हर शब्द मेल खाता है, तो हम शब्द वापस कर देते हैं।

और चूंकि हमने पहले ही अपने शब्दकोश को क्रमबद्ध कर लिया है, हम गारंटी दे सकते हैं कि पहला मैच हमारा उत्तर है।

आउटपुट

कंसोल में आउटपुट होगा -

gfdfg

  1. जावास्क्रिप्ट में वर्तमान समय का उपयोग करके निकटतम समय बनाना

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो एक स्ट्रिंग, समय लेता है, जो HH:MM रूप में समय का प्रतिनिधित्व करता है। हमारा कार्य वर्तमान अंकों का पुन:उपयोग करके अगला निकटतम समय बनाने वाला है। किसी अंक का कितनी बार पुन:उपयोग किया जा सकता है, इसकी कोई सीमा नहीं है। उदाहरण के लिए, यदि फ़ं

  1. जावास्क्रिप्ट में लगातार सबसे लंबे समय तक जुड़ने का पता लगाना

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो संख्याओं के जोड़े की एक सरणी लेता है, एआर, पहले और एकमात्र तर्क के रूप में। प्रत्येक जोड़ी में, पहली संख्या हमेशा दूसरी संख्या से छोटी होती है। अब, हम एक युग्म (c, d) को परिभाषित करते हैं जो किसी अन्य युग्म (a, b) का अनुसरण कर सकता है यदि और

  1. जावास्क्रिप्ट में सबसे लंबे समय तक बढ़ते अनुक्रमों की कुल संख्या

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो संख्याओं की एक सरणी लेता है, एआर, पहले और एकमात्र तर्क के रूप में। हमारे फ़ंक्शन को सबसे लंबे समय तक बढ़ते अनुक्रमों (सन्निहित या गैर-सन्निहित) की संख्या को खोजने की आवश्यकता है। उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है इनपुट const arr = [2,