สมมติว่ามีเพื่อนสองคนคือ Amal และ Bimal เล่นเกมกับรายการตัวเลขที่เรียงลำดับชื่อ nums ในแต่ละรอบ Amal เลือกตัวเลขสามตัว Bimal ลบหนึ่งตัวออก แล้ว Amal ลบอีกหนึ่งตัว รายการเริ่มต้นด้วยจำนวนคี่ Amal ต้องการลดจำนวนรอบให้น้อยที่สุดเพื่อให้รายการไม่มีตัวเลขซ้ำ Bimal ต้องการเพิ่มจำนวนรอบ ถ้าทั้งคู่เล่นอย่างเหมาะสม เราต้องหาจำนวนรอบที่จำเป็น
เช่น ถ้าอินพุตคือ nums = [1, 1, 2, 3, 3, 3, 4] ผลลัพธ์จะเป็น 2
ขั้นตอนการแก้ปัญหา
- repeats := 0
- for 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