สมมติว่าเรามี 1 ปี Y และ 1 เดือน M เราต้องคืนค่าจำนวนวันของเดือนนั้นสำหรับปีที่กำหนด ดังนั้นหาก Y =1992 และ M =7 ผลลัพธ์จะเป็น 31 หากปีคือ 2020 และ M =2 ผลลัพธ์จะเป็น 29
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- ถ้า m =2 แล้ว
- ถ้า y เป็นปีอธิกสุรทิน ให้คืน 29 มิฉะนั้น 28
- สร้างอาร์เรย์ที่มีองค์ประกอบ [1,3,5,7,8,10,12]
- ถ้า m อยู่ในรายการ ให้คืนค่า 31 มิฉะนั้น ให้คืนค่า 30
ตัวอย่าง(Python)
ให้เราดูการใช้งานต่อไปนี้เพื่อทำความเข้าใจ −
class Solution(object): def numberOfDays(self, y, m): leap = 0 if y% 400 == 0: leap = 1 elif y % 100 == 0: leap = 0 elif y% 4 == 0: leap = 1 if m==2: return 28 + leap list = [1,3,5,7,8,10,12] if m in list: return 31 return 30 ob1 = Solution() print(ob1.numberOfDays(2020, 2))
อินพุต
2020 2
ผลลัพธ์
29