मान लीजिए हमारे पास एक स्ट्रिंग s है, जिसमें केवल "R" और "L" हैं, हमें न्यूनतम संख्या में वर्णों को हटाना है ताकि कोई क्रमागत "R" और कोई क्रमागत "L" न रहे।
यदि इनपुट "LLLRLRR" जैसा है, तो आउटपुट "LRLR" होगा।
इसे हल करने के लिए हम निम्नलिखित चरणों का पालन करेंगे:
- seen := s का पहला वर्ण
- ans := s का पहला वर्ण
- सूचकांक 1 से s के अंत तक प्रत्येक वर्ण i के लिए, करें:
- यदि i, seen के समान नहीं है, तो
- ans := ans + i
- seen := i
- यदि i, seen के समान नहीं है, तो
- ans लौटाएं
बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:
उदाहरण
class Solution:
def solve(self, s):
seen = s[0]
ans = s[0]
for i in s[1:]:
if i != seen:
ans += i
seen = i
return ans
ob = Solution()
print(ob.solve("LLLRLRR"))
इनपुट
"LLLRLRR"
आउटपुट
LRLR