LeetCode 1185. 一周中的第几天
原题链接
简单
作者:
我是java同学
,
2023-12-30 14:59:16
,
所有人可见
,
阅读 45
class Solution {
public:
int months[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
string weeks[7] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
bool is_leap(int year) {
if (year % 400 == 0 || year % 4 == 0 && year % 100)
return 1;
return 0;
}
int get_days(int year, int month) {
int res = months[month];
if (month == 2) res += is_leap(year);
return res;
}
string dayOfTheWeek(int day, int month, int year) {
int res = 4;
//年
for (int i = 1971; i < year; i ++ )
res += 365 + is_leap(i);
//月
for (int i = 1; i < month; i ++ )
res += get_days(year, i);
//日
res += day;
res %= 7;
return weeks[res];
}
};