LeetCode 1118. Number of Days in a Month Solution in Java, C++, Python & More | Explanation + Code

CoderIndeed
0
1118. Number of Days in a Month

Description

Given a year year and a month month, return the number of days of that month.

 

Example 1:

Input: year = 1992, month = 7
Output: 31

Example 2:

Input: year = 2000, month = 2
Output: 29

Example 3:

Input: year = 1900, month = 2
Output: 28

 

Constraints:

  • 1583 <= year <= 2100
  • 1 <= month <= 12

Solutions

Solution 1: Determine Leap Year

We can first determine whether the given year is a leap year. If the year can be divided by 4 but not by 100, or can be divided by 400, then this year is a leap year.

February has 29 days in a leap year and 28 days in a common year.

We can use an array days to store the number of days in each month of the current year, where days[0]=0, days[i] represents the number of days in the ith month of the current year. Then the answer is days[month].

The time complexity is O(1), and the space complexity is O(1).

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

Post a Comment

0Comments

Post a Comment (0)

#buttons=(Accept !) #days=(20)

Our website uses cookies to enhance your experience. Check Now
Accept !