मान लीजिए दो दोस्त अमल और बिमल nums नामक क्रमबद्ध संख्याओं की सूची के साथ एक गेम खेल रहे हैं। एक चाल में, अमल किन्हीं तीन संख्याओं को चुनता है। बिमल उनमें से एक को हटा देता है, और फिर अमल उनमें से एक को हटा देता है। सूची विषम संख्या में तत्वों से शुरू होती है। अमल सूची में कोई दोहराए गए तत्व न होने तक आवश्यक चालों की संख्या को न्यूनतम करना चाहता है, बिमल चालों की संख्या को अधिकतम करना चाहता है। यदि अमल और बिमल इष्टतम रूप से कार्य करते हैं, तो हमें इस गेम के लिए आवश्यक चालों की संख्या ढूंढनी है।
उदाहरण के लिए, यदि इनपुट nums = [1, 1, 2, 3, 3, 3, 4] है, तो आउटपुट 2 होगा।
इसे हल करने के लिए हम निम्न चरणों का पालन करेंगे:
- repeats := 0
- i को 1 से nums के आकार तक के लिए करें:
- यदि nums[i], nums[i-1] के बराबर है, तो repeats := repeats + 1
- (repeats + 1) // 2 वापस करें
उदाहरण
class Solution:
def solve(self, nums):
repeats = 0
for i in range(1, len(nums)):
if nums[i] == nums[i-1]:
repeats += 1
return (repeats + 1) // 2
ob = Solution()
nums = [1, 1, 2, 3, 3, 3, 4]
print(ob.solve(nums))
इनपुट
[1, 1, 2, 3, 3, 3, 4]
आउटपुट
2