给你一个日期,请你设计一个算法来判断它是对应一周中的哪一天。
输入为三个整数:day、month 和 year,分别表示日、月、年。
您返回的结果必须是这几个值中的一个 {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}。
蔡勒公式(月份要将1、2月变成13、14月计算)
class Solution {
public String dayOfTheWeek(int day, int month, int year) {
//注意开始是周六!
String week[] = { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday","Saturday"} ;
int m ,y;
if (month < 3) {
m = month + 12;
y = year - 1;
} else {
m = month;
y = year;
}
int index = 0 ;
//蔡勒公式
int c = y/100;
y %= 100;
int D = c/4 - 2*c + y + y/4 + 13*(m+1)/5 + day - 1 + 210;//加上30*7防止出现负数
return week[D%7] ;
}
}