आपको प्रत्येक संभावित पालिंड्रोम पिवट बिंदु के लिए एक सीमित संख्या में लेवेनशेटिन दूरी की गणना करने की आवश्यकता है। एक पिवट पॉइंट एक पत्र हो सकता है या यह दो अक्षरों के बीच हो सकता है, इसलिए लंबाई एन की एक स्ट्रिंग में 2 एन -1 पिवट पॉइंट होते हैं। प्रत्येक धुरी लिए, आप इसे बाद धुरी से पहले पात्रों में से Levenshtein दूरी और पात्रों में से रिवर्स गणना:
(m)ohammadsajjadhossain: Levensthein("", "niassohdajjasdammaho")
m ohammadsajjadhossain: Levensthein("m", "niassohdajjasdammaho")
m(o)hammadsajjadhossain: Levensthein("m", "niassohdajjasdammah")
mo hammadsajjadhossain: Levensthein("mo", "niassohdajjasdammah")
mo(h)ammadsajjadhossain: Levensthein("mo", "niassohdajjasdamma")
moh ammadsajjadhossain: Levensthein("moh", "niassohdajjasdamma")
आदि
अब इन दूरीों में से कम से कम लें। यदि गति महत्वपूर्ण है, तो आप इनमें से कई कॉल को अनुकूलित कर सकते हैं।
एक अच्छा कोड गोल्फ भी ... –