आपका कार्य यह निर्धारित करना है कि एक स्ट्रिंग कितना सही तालमेल है। आपका विशिष्ट पैलिंड्रोम (जैसे 12321) एक परिपूर्ण पैलिंड्रोम है; इसकी पूर्णता 1 है।
एक स्ट्रिंग की पूर्णता निर्धारित करने के लिए, आप देखते हैं कि आप इसे कितने खंडों में विभाजित कर सकते हैं, जहां प्रत्येक अनुभाग एक पैलिंड्रोम है। वहाँ इस तरह के साथ के रूप में अस्पष्टता, कर रहे हैं aaaa
, जैसा कि आप इसे में विभाजित कर सकते हैं [aa, aa]
या [aaaa]
या [a, aaa]
या [aaa, a]
, कम से कम सेट को पार कर जाएगी, दे रही है aaaa
1 के स्कोर है, जो कम से कम सेट की लंबाई है।
इसलिए, आपको एक प्रोग्राम या फ़ंक्शन लिखना होगा जो एक गैर-खाली इनपुट और आउटपुट लेगा कि यह कितना सही है (जो कि सबसे कम सेट की लंबाई है आप इसे विभाजित कर सकते हैं जहां सेट में प्रत्येक तत्व एक पैलिंड्रोम है)।
उदाहरण:
1111 -> 1 [1111]
abcb -> 2 [a, bcb]
abcbd -> 3 [a, bcb, d]
abcde -> 5 [a, b, c, d, e]
66a -> 2 [66, a]
abcba-> 1 [abcba]
x -> 1 [x]
ababacab -> 2 [aba, bacab]
bacababa -> 2 [bacab, aba]
26600 -> 3 [2, 66, 00] [my user id] [who has a more perfect user id?]
ababacabBACABABA -> 4 [aba, bacab, BACAB, ABA]
ध्यान दें कि उदाहरणों में वर्ग कोष्ठक में कुछ भी आउटपुट का हिस्सा नहीं होना चाहिए।
ababacab
और इसके विपरीत, bacababa
अच्छे परीक्षण के मामले प्रतीत होते हैं।
ababacabBACABABA
एक अच्छा परीक्षण मामला भी है (कुछ उत्तर उस पर विफल हैं)।