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

जावास्क्रिप्ट में समान स्ट्रिंग वर्णों को अलग रखना

<घंटा/>

समस्या

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

फ़ंक्शन को स्ट्रिंग स्ट्र के वर्णों को पुनर्व्यवस्थित करना चाहिए और एक नई स्ट्रिंग का निर्माण करना चाहिए ताकि कोई भी दो समान वर्ण अलग-अलग वर्णों से कम न हों, दूसरे शब्दों में समान वर्ण कम से कम संख्या वर्णों की दूरी पर होने चाहिए।

फ़ंक्शन को अंततः नई निर्मित स्ट्रिंग वापस करनी चाहिए। और अगर इस व्यवस्था को हासिल करना संभव नहीं है, तो हमारे फ़ंक्शन को एक खाली स्ट्रिंग वापस करनी चाहिए।

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

const str = 'kkllmm';

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

const output = 'mlmklk';

उदाहरण

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

const str = 'kkllmm';
const placeApart = (str = '') => {
   const map = {};
   for(let i=0; i<str.length; i++){
      map[str[i]] = map[str[i]] || 0;
      map[str[i]] ++;
   }
   let keys = Object.keys(map).sort((a,b)=>{
      if(map[a]<map[b])
      return 1;
      return -1;
   });
   let len = str.length%2 ? (Math.floor(str.length/2)+1) : str.length/2;
   if(map[keys[0]] > len){
      return "";
   };
   const res = [];
   let index = 0, max = str.length-1;
   while(keys.length){
      let currKey = keys.shift();
      let count = map[currKey];
      while(count){
         res[index] = currKey;
         index = index+2;
         if(index>max)
            index=1;
            count--;
      }
   }
   return res.join("");
};
console.log(placeApart(str));

आउटपुट

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

mlmklk

  1. जाँच कर रहा है कि क्या एक स्ट्रिंग में जावास्क्रिप्ट का उपयोग करते हुए सभी अद्वितीय वर्ण हैं

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो एक स्टिंग लेता है और सत्य लौटाता है यदि स्ट्रिंग में सभी वर्ण केवल एक बार दिखाई देते हैं और अन्यथा गलत। उदाहरण निम्नलिखित कोड है - { for(let i =0; i

  1. जावास्क्रिप्ट में एक स्ट्रिंग के पात्रों को फिर से समूहित करना

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो एक स्ट्रिंग str को पहले और एकमात्र तर्क के रूप में लेता है। स्ट्रिंग str में तीन प्रकार के वर्ण हो सकते हैं - अंग्रेजी अक्षर:(ए-जेड), (ए-जेड) अंक:0-9 विशेष वर्ण - शेष सभी वर्ण हमारे फ़ंक्शन को इस स्ट्रिंग के माध्यम से पुनरावृ

  1. सी # में एक स्ट्रिंग के वर्णों को स्वैप करना

    स्ट्रिंग के वर्णों को स्वैप करने के लिए, चयन विधि का उपयोग करें। सबसे पहले, मान लें कि हमारा स्ट्रिंग है - string str = "PQRQP"; अब, आपको P की प्रत्येक घटना को Q से और Q को P के साथ स्वैप करना होगा - str.Select(a=> a == 'P' ? 'Q' : (a=='Q' ? 'P' : a)).T