समस्या
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो स्ट्रिंग्स की एक सरणी को एकमात्र तर्क के रूप में लेता है। फ़ंक्शन को उन सभी अनुक्रमणिका युग्मों के सरणियों की एक सरणी को वापस करना है जो स्ट्रिंग्स में शामिल होते हैं, जिस पर एक नया पैलिंड्रोम स्ट्रिंग प्राप्त होता है।
उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है -
const arr = ['tab', 'cat', 'bat'];
तब आउटपुट होना चाहिए -
const output = [[0, 2], [2, 0]];
आउटपुट स्पष्टीकरण:
क्योंकि दोनों तार 'बट्टब' और 'तब्बत' पैलिंड्रोम हैं।
उदाहरण
इसके लिए कोड होगा -
const arr = ['tab', 'cat', 'bat']; const isPalindrome = (str = '') => { let i = 0; let j = str.length - 1; while (i < j) { if (str[i] != str[j]) return false; i++; j--; }; return true; }; const palindromePairs = (arr = []) => { const res = []; for (let i = 0; i < arr.length; i++) { for (let j = i + 1; j < arr.length; j++) { if (isPalindrome(arr[i] + arr[j])) { res.push([i, j]) } if (isPalindrome(arr[j] + arr[i])) { res.push([j, i]) }; }; }; return res; }; console.log(palindromePairs(arr));
कोड स्पष्टीकरण
हमने यहां एक सहायक फ़ंक्शन isPalindome() का उपयोग यह जांचने के लिए किया है कि एक स्ट्रिंग पैलिंड्रोम है या नहीं और हमारा मुख्य फ़ंक्शन सभी संयोजनों का उपयोग सभी संभावित जोड़े उत्पन्न करने के लिए करता है और जो हमारी शर्तों से मेल खाते हैं, उनकी अनुक्रमणिका को रेस सरणी में धकेल दिया जाता है।पी>
आउटपुट
और कंसोल में आउटपुट होगा -
[ [ 0, 2 ], [ 2, 0 ] ]