मान लीजिए मेरे पास दो तार हैं। उन्हें और । न तो स्ट्रिंग में कोई दोहराया वर्ण हैं।
मैं सम्मिलित करने, स्थानांतरित करने और हटाने का सबसे छोटा अनुक्रम कैसे प्राप्त कर सकता हूं जो को में बदल देता है , जहां:
insert(char, offset)स्ट्रिंग मेंcharदिए गए पर आवेषणoffsetmove(from_offset, to_offset)वर्तमान में ऑफसेट पर चरित्रfrom_offsetको एक नई स्थिति में ले जाता है ताकि उसमें ऑफसेट होto_offsetdelete(offset)पर चरित्र को हटाता हैoffset
उदाहरण आवेदन: आप एक डेटाबेस क्वेरी करते हैं और अपनी वेबसाइट पर परिणाम दिखाते हैं। बाद में, आप डेटाबेस क्वेरी को फिर से चलाएँ और पता करें कि परिणाम बदल गए हैं। आप इस बात को बदलना चाहते हैं कि डेटाबेस में वर्तमान में डोम ऑपरेशन की न्यूनतम संख्या का उपयोग करके मिलान करने के लिए क्या है। आप परिचालन का सबसे छोटा अनुक्रम क्यों चाहते हैं, इसके दो कारण हैं। सबसे पहले, दक्षता। जब केवल कुछ ही रिकॉर्ड को बदलने के लिए, आप यह सुनिश्चित करें कि आप ऐसा करेंगे बनाना चाहते के बजाय , डोम के संचालन के बाद से वे महंगे हैं। दूसरा, शुद्धता। यदि कोई आइटम एक स्थिति से दूसरे स्थान पर चला गया है, तो आप उन्हें नष्ट और पुनः बनाए बिना, एक ही ऑपरेशन में संबंधित डोम नोड को स्थानांतरित करना चाहते हैं। अन्यथा आप फ़ोकस स्थिति, तत्वों की सामग्री , और इसके बाद खो देंगे ।<input>