1141. The month's days
Given a year and month, return the days of that month.
Example
Example 1:
Input:
2020
2
Output:
29
Example 2:
Input:
2020
3
Output:
31
Notice
1≤year≤10000
1≤month≤12
解法1:
对于不大于 3000 年的年份,闰年遵循如下规律: 非整百年,能被 44 整除的为闰年。 整百年,能被 400400 整除的是闰年。
注意闰年的计算公式 ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) 。
class Solution {
public:
/**
* @param year: a number year
* @param month: a number month
* @return: Given the year and the month, return the number of days of the month.
*/
int getTheMonthDays(int year, int month) {
vector<int> normal_years = {-1, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
return normal_years[month] + ((month == 2) ? 1 : 0);
} else {
return normal_years[month];
}
}
};