leetcode_1118 一月有多少天

203 阅读1分钟

要求

指定年份 Y 和月份 M,请你帮忙计算出该月一共有多少天。

示例 1:

输入:Y = 1992, M = 7
输出:31

示例 2:

输入:Y = 2000, M = 2
输出:29

示例 3:

输入:Y = 1900, M = 2
输出:28

提示:

  • 1583 <= Y <= 2100
  • 1 <= M <= 12

核心代码

class Solution:
    def numberOfDays(self, year: int, month: int) -> int:
        if  (year % 100 != 0 and year % 4 ==0) or year % 400 == 0:
            return [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month - 1]
        else:
            return [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month - 1]

image.png

解题思路:比较简单,分成闰年和非闰年,只有二月不同而已。