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

JavaScript में स्ट्रिंग को एन्कोड करके उसका आकार कम करना


समस्या

हमें एक JavaScript फ़ंक्शन लिखना है जो अक्षरों की स्ट्रिंग str को एकमात्र आर्ग्युमेंट के रूप में लेता है। हमारा फ़ंक्शन इनपुट स्ट्रिंग को एन्कोड करेगा और उसके आकार की तुलना मूल स्ट्रिंग से करेगा और जो स्ट्रिंग आकार में छोटी होगी उसे वापस करेगा।

किसी विशेष स्ट्रिंग को एन्कोड करने का नियम है:

  • n[s], जहां वर्गाकार कोष्ठक के अंदर का s ठीक k बार दोहराया जा रहा है।

उदाहरण के लिए, ddd को 3[d] में एन्कोड किया जा सकता है लेकिन 3[d] की लंबाई 4 है जबकि ddd केवल 3 अक्षर लंबा है इसलिए हमारा फ़ंक्शन अंततः ddd वापस करेगा।

उदाहरण

यदि फ़ंक्शन का इनपुट है:

const str = 'aabcaabcd';

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

const output = '2[aabc]d';

कोड

const str = 'aabcaabcd'; function encode(s) {    const { length } = s;    const dp = Array(length).fill([]);    dp.forEach((el, ind) => {       dp[ind] = Array(length).fill(null);    });    for(let l = 1; l <= length; l++){       for(let i = 0; i + l <= length; i++){          let j = i + l - 1;          dp[i][j] = s.substring(i, j + 1);          for (let k = i; k < j ; k ++) {             let acc = dp[i][k] + dp[k + 1][j];             if (acc.length < dp[i][j].length) {                dp[i][j] = acc;             }          }          let sub = s.substring(i, j + 1);          let double = sub + sub;          let cut = double.indexOf(sub, 1);          if (cut != -1 && cut < sub.length) {             let acc = sub.length / cut + "[" + dp[i][i + cut - 1] +"]";             if (acc.length < dp[i][j].length) {                dp[i][j] = acc;             }          }       }    }    let res = dp[0][dp.length - 1];    return res; } console.log(encode(str));

आउटपुट

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

2[aabc]d
  1. - जावास्क्रिप्ट में स्ट्रिंग में सबसे लंबी लगातार पुनरावृत्ति वाले कैरेक्टर और उसकी लंबाई ढूंढना

    समस्याहमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो एक स्ट्रिंग लेता है। हमारा फ़ंक्शन ठीक दो तत्वों की एक सरणी लौटाएगा: पहला तत्व वह कैरेक्टर होगा जो स्ट्रिंग में सबसे अधिक बार लगातार आता है और दूसरा उसकी उपस्थिति की संख्या होगी।उदाहरणनिम्न कोड देखें:const str = tdfdffddffsdsfffffsdsdsddddd; const find

  1. - JavaScript में वर्ण आवृत्ति के आधार पर स्ट्रिंग एन्कोड करना

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

  1. - Python में रन-लेंथ एन्कोडिंग

    इस ट्यूटोरियल में, हम Python में रन-लेंथ एन्कोडिंग बनाने का तरीका सीखने जा रहे हैं। एक स्ट्रिंग दिए जाने पर, एक नई स्ट्रिंग लौटाएं जिसमें char और frequency हो। उदाहरण के लिए, स्ट्रिंग tutorialspoint को t3u1o2r1i2a1l1s1p1n1 के रूप में एन्कोड किया जाएगा। क्रम हर char+frequency का है। उन सभी को जोड़ें