लक्ष्य
स्ट्रिंग समवर्ती को रिवर्स करने के लिए एक फ़ंक्शन बनाएं
इनपुट
दो तार (अल्फ़ान्यूमेरिक + स्थान), जहां एक को दूसरे के लिए घटाया जाना चाहिए।
- आप मान सकते हैं कि घटाए जाने वाले तार कभी भी दूसरे से बड़े नहीं होंगे।
उत्पादन
घटाव से परिणाम
घटाव
आपको एक स्ट्रिंग को दूसरे स्ट्रिंग के शुरू या अंत से हटा देना चाहिए। यदि स्ट्रिंग प्रारंभ में और अंत में मौजूद है, तो आप केवल एक को हटा सकते हैं, जिसे हटा दिया जाएगा वह आपके ऊपर है।
यदि स्ट्रिंग प्रारंभ में या अंत में नहीं है, या एक सटीक मिलान नहीं है, तो यह एक अमान्य घटाव है और आपको मूल स्ट्रिंग का उत्पादन करना चाहिए।
परीक्षण के मामलों
मान्य घटाव
'abcde','ab' -> 'cde'
'abcde','cde' -> 'ab'
'abab','ab' -> 'ab'
'abcab','ab' -> 'abc' or 'cab'
'ababcde','ab' -> 'abcde'
'acdbcd','cd' -> 'acdb'
'abcde','abcde' -> ''
'abcde','' -> 'abcde'
'','' -> ''
अमान्य घटाव (मूल स्ट्रिंग लौटाता है)
'abcde','ae' -> 'abcde'
'abcde','aa' -> 'abcde'
'abcde','bcd' -> 'abcde'
'abcde','xab' -> 'abcde'
'abcde','yde' -> 'abcde'
अमान्य इनपुट (नियंत्रित करने की आवश्यकता नहीं है)
'','a' -> ''
यह कोड-गोल्फ है , इसलिए बाइट्स में सबसे छोटा कोड जीतता है!
'abcde','bcd' -> 'abcde'
मेरे समाधान को तोड़ने के लिए
'ababcde', 'ab'
→ 'abcde'
एक परीक्षण मामले के रूप में। कुछ भोले एल्गोरिदम उस पर विफल होते हैं।
cde
? आपको मान्य से क्या मतलब है? क्या हमें इनपुट की वैधता को आंकने की आवश्यकता है, या क्या आपका मतलब है कि हम अमान्य इनपुट प्राप्त नहीं करेंगे?