समस्या
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो क्रमशः पहले और दूसरे तर्क के रूप में अंग्रेजी लोअरकेस अक्षर, str1 और str2 के दो स्ट्रिंग लेता है।
हमारा कार्य दो स्ट्रिंग्स को समान बनाने के लिए हटाए गए वर्णों के न्यूनतम ASCII योग को खोजने और वापस करने वाला है।
उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है
इनपुट
const str1 ='sea';const str2 ='eat';
आउटपुट
कॉन्स्ट आउटपुट =231;
आउटपुट स्पष्टीकरण
"समुद्र" से "s" को हटाने से "s" (115) का ASCII मान योग में जुड़ जाता है।
"ईट" से "t" को मिटाने से 116 का योग जुड़ जाता है।
अंत में, दोनों तार बराबर हैं, और इसे प्राप्त करने के लिए 115 + 116 =231 न्यूनतम संभव योग है।
उदाहरण
निम्नलिखित कोड है -
const str1 ='समुद्र'; const str2 ='खाएं'; const न्यूनतमसम =(str1 ='', str2 ='') => { const चार्टकोड =(s ='') => { कोड =0 दें for (const c of s) { code +=c.charCodeAt(0) } return code } let prev =new Array(str2.length + 1).fill(0) for (let ind1 =str1.length; ind1>=0; ind1--) {const current =new Array(str2.length + 1).fill(0) for (let ind2 =str2.length; ind2>=0; ind2--) { if (ind1 ===str1 .लंबाई) {वर्तमान [इंड2] =चार्टकोड (str2.slice (इंड2)) } और अगर (इंड2 ===str2.length) {वर्तमान [इंड2] =चार्टकोड (str1.स्लाइस (इंड1)) } और अगर (str1 [इंड 1] ===str2 [इंड 2]) {वर्तमान [इंड 2] =पिछला [इंड 2 + 1]} अन्य {वर्तमान [इंड 2] =गणित मिनट (पिछला [इंड 2] + (स्ट्र 1 [इंड 1])। चारकोडएट (0 ), करंट [ind2 + 1] + (str2 [ind2])। charCodeAt(0), ) } } पिछला =करंट } वापसी पिछला [0]}console.log(minimumSum(str1, str2));आउटपुट
231