प्रेरणा : डेटा संस्करण के लिए उपकरण विकसित करते समय, हमने पूर्णांक के दो सेटों को "भिन्न" के लिए एल्गोरिदम में देखना समाप्त कर दिया, जो परिवर्तनों के एक क्रम के साथ आकर पूर्णांक के एक सेट को दूसरे तक ले जाते हैं। हम उस समस्या को निम्न बहुत ही स्वाभाविक समस्या को कम करने में सक्षम थे जो लगता है कि दूरी को संपादित करने के लिए कनेक्शन, स्वैपिंग द्वारा समूहीकरण और न्यूनतम न्यूनतम स्ट्रिंग विभाजन है ।
समस्या : हमें एक स्ट्रिंग, अर्थात, पत्रों का एक क्रम दिया जाता है, और हमारा लक्ष्य इसे न्यूनतम लागत पर समरूप बनाना है । यही है, हम एक पुनर्व्यवस्थित अनुक्रम चाहते हैं जैसे कि सभी अक्षर जो एक जैसे हैं एक दूसरे के बगल में हैं।
केवल आपरेशन कि अनुमति दी है, और है कि लागत मुझे 1 यूनिट पत्र है कि एक जैसे हैं की किसी परिणाम को लेने, और कहा कि परिणाम को कहीं भी ले जाने के लिए है।
इस समस्या की जटिलता को दर्शाने वाली कोई भी मदद बहुत सराहना की जाएगी!
उदाहरण :
- aabcdab: इनपुट
- bcd aa ab: "आ" के ठीक बाद स्थिति में पहला आ जाने के बाद
- b bcdaaa: ट्रेलिंग b को पहली स्थिति में ले जाने के बाद
चूंकि परिणामस्वरूप स्ट्रिंग सजातीय है, हमारे पास 2 की लागत है।
ध्यान दें कि हम आउटपुट के संबंध में किसी भी तरह से विवश नहीं हैं: जब तक यह सजातीय है, हमें किसी विशिष्ट आदेश को सुनिश्चित करने की आवश्यकता नहीं है।