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

सी ++ में इंडेक्स रेंज में पालिंड्रोमिक सबस्ट्रिंग्स की संख्या

हमें एक स्ट्रिंग और एक रेंज दी गई है जो शुरू से अंत तक है और कार्य किसी दिए गए रेंज में मौजूद पैलिंड्रोमिक सबस्ट्रिंग की गिनती की गणना करना है। पैलिंड्रोम तार वे तार होते हैं जो एक स्ट्रिंग के आगे और पीछे से समान होते हैं जैसे नितिन, अबा, आदि।

उदाहरण के लिए

इनपुट - इनपुटस्ट्रिंग ="cccaabbbdee", प्रारंभ =2, अंत =6;

आउटपुट - इंडेक्स रेंज 7 में पैलिंड्रोमिक सबस्ट्रिंग्स की संख्या

स्पष्टीकरण - हमें एक रेंज और एक स्ट्रिंग के साथ दिया गया है, इसलिए हम स्ट्रिंग को स्टार्ट पॉइंटर से ट्रैवर्स करना शुरू करेंगे जो कि 2 है यानी 'सी' से 6 तक यानी 'बी' इसलिए सबस्ट्रिंग 'कैब' है। तो पैलिंड्रोमिक सबस्ट्रिंग 'सी', 'ए', 'ए', 'बी', 'बी', 'आ' और 'बीबी' है। तो, पैलिंड्रोमिक सबस्ट्रिंग की संख्या 7 है।

इनपुट - इनपुटस्ट्रिंग ="लियोआब्बडी", प्रारंभ =0, अंत =2;

आउटपुट - इंडेक्स रेंज 3 में पैलिंड्रोमिक सबस्ट्रिंग्स की संख्या

स्पष्टीकरण - हमें एक रेंज और एक स्ट्रिंग के साथ दिया गया है, इसलिए हम स्ट्रिंग को स्टार्ट पॉइंटर से ट्रैवर्स करना शुरू करेंगे जो कि 0 है यानी 'l' से 2 तक यानी 'o' इसलिए सबस्ट्रिंग 'लियो' है। तो पैलिंड्रोमिक सबस्ट्रिंग 'l', 'i' और 'o' है। तो, पैलिंड्रोमिक सबस्ट्रिंग की संख्या 3 है।

नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है

  • किसी दिए गए आकार की एक स्ट्रिंग और एक चर से शुरू होकर अंत तक एक श्रेणी घोषित करें।
  • आगे की प्रक्रिया के लिए डेटा को palindrome_index(arr, InputString) नाम के फंक्शन में पास करें
  • फ़ंक्शन के अंदर, सरणी आकार के साथ चेक नाम की एक और सरणी घोषित करें।
  • किसी सरणी की लंबाई 0 से i के लिए लूप प्रारंभ करें
  • लूप के अंदर, 0 से एक सरणी की लंबाई तक j के लिए एक और लूप प्रारंभ करें
  • लूप के अंदर, चेक को चेक के रूप में सेट करें[i][j] =0 और arr[i][j] =0
  • आरंभ लूप फॉर i फॉर आई से लेंथ - 1 जब तक मैं 0 से बड़ा न हो
  • लूप के अंदर, i के चेक और एरर को 1 के रूप में सेट करें और फिर i + 1 से एक सरणी की लंबाई तक j के लिए एक और लूप शुरू करें
  • लूप के अंदर, IF स्ट्रिंग की जाँच करें i i बराबर j पर स्ट्रिंग के बराबर है और i + 1 j - 1 से बड़ा है या जाँच करें [i + 1] [j - 1]) 0 के बराबर नहीं है तो चेक सेट करें [i] [जे] 1 ईएलएसई के रूप में, चेक सेट करें [i] [जे] 0 के रूप में सेट करें [i] [जे] =एआर [आई] [जे -1] + एआर [आई + 1] [जे] - एआर [i] + 1][j - 1] + चेक करें[i][j]
  • शुरू और अंत के रूप में 2-डी सरणी प्रिंट करें।

उदाहरण

आयात करें इंट [] [] चेक =नया इंट [लंबाई + 1] [लंबाई + 1]; for (int i =0; i <=length; i++) { for (int j =0; j <=length; j++) { check[i][j] =0; गिरफ्तारी [i] [जे] =0; } } के लिए (int i =लंबाई - 1; i>=0; i--) { check[i][i] =arr[i][i] =1; के लिए (int j =i + 1; j <लंबाई; j++) {if(s.charAt(i) ==s.charAt(j) &&(i + 1> j - 1 || (चेक करें [i + 1] [जे -1])! =0)) {चेक [i] [जे] =1; } और {चेक करें [i] [जे] =0; } arr[i][j] =arr[i][j-1] + arr[i + 1][j] - arr[i + 1][j-1] + check[i][j]; } } } सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग args []) {स्ट्रिंग इनपुटस्ट्रिंग ="cccaabbbdee"; int [] [] गिरफ्तारी; एआर =नया इंट [50] [50]; palindrome_index (गिरफ्तारी, इनपुटस्ट्रिंग); इंट स्टार्ट =2; इंट एंड =6; System.out.println ("इंडेक्स रेंज में पैलिंड्रोमिक सबस्ट्रिंग्स की गणना" + arr[start][end]); }}

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -

आउटपुट

इंडेक्स रेंज 7 में पैलिंड्रोमिक सबस्ट्रिंग की संख्या

  1. C++ में दी गई श्रेणी में भाज्य संख्याओं की गणना करें

    हमें एक चर द्वारा धारित पूर्णांक मान से शुरू होने वाली श्रेणी दी गई है, मान लीजिए कि चर अंत तक शुरू होता है और कार्य दी गई सीमा में उपलब्ध भाज्य संख्याओं की कुल संख्या की गणना करना है। फैक्टोरियल नंबर क्या है किसी संख्या के भाज्य की गणना अंकों के अंकों को 1 से घटाते हुए अंकों को गुणा करके की जाती ह

  1. C++ में सबसे छोटी रेंज II

    मान लीजिए कि हमारे पास पूर्णांकों की एक सरणी A है, प्रत्येक पूर्णांक A[i] के लिए हमें या तो x =-K या x =K चुनना है, और x को A[i] में जोड़ना है (केवल एक बार)। तो इस प्रक्रिया के बाद, हमारे पास कुछ सरणी बी है। हमें बी के अधिकतम मूल्य और बी के न्यूनतम मूल्य के बीच सबसे छोटा संभव अंतर खोजना होगा। इसलिए

  1. C++ में सभी प्राइम लेंथ पैलिंड्रोमिक सबस्ट्रिंग्स की गणना करें

    इस ट्यूटोरियल में, हम प्राइम लेंथ पैलिंड्रोमिक स्ट्रिंग्स की संख्या को खोजने के लिए एक प्रोग्राम पर चर्चा करेंगे। इसके लिए हमें एक स्ट्रिंग प्रदान की जाएगी। हमारा काम उन सभी सबस्ट्रिंग्स को गिनना है जो पैलिंड्रोम हैं और प्राइम लेंथ हैं। उदाहरण #include <bits/stdc++.h> using namespace std; //c