class Solution {
public:
string dayOfTheWeek(int day, int month, int year) {
map<int,int> mp={{1,31},{2,28},{3,31},{4,30},{5,31},{6,30},{7,31},{8,31},\
{9,30},{10,31},{11,30},{12,31}};
map<int,string> week={{0,"Sunday"},{1,"Monday"},{2,"Tuesday"},{3,"Wednesday"},\
{4, "Thursday"},{5,"Friday"},{6,"Saturday"}};
int y=1971,sum=0;
while(y<year)
{
if((y%4==0&&y%100!=0) || (y%400==0)) sum+=366;
else sum+=365;
y++;
}
for(int i=1;i<month;i++)
{
if(((y%4==0&&y%100!=0) || (y%400==0)) && i==2) sum+=29;
else sum+=mp[i];
}
sum+=day;
return week[(sum+4)%7];
}
};
Leetcode 1185. 一周中的第几天
于 2022-06-04 22:37:54 首次发布