1154. Day of the Year #
题目 #
-
给定字符串
date
,按YYYY-MM-DD
格式表示一个现行公元年法日期。 -
返回该日期是当年的第几天。
思路 #
模拟 #
打表 #
代码 #
模拟 #
class Solution {
public boolean isLeapYear(int year) {
/** 能被4整除但不能被100整除的是闰年
* 能被400整除的是闰年
*/
return (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
}
public int dayOfYear(String date) {
int year = Integer.parseInt(date.split("-")[0]);
int month = Integer.parseInt(date.split("-")[1]);
int day = Integer.parseInt(date.split("-")[2]);
int[] days = new int[]{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
if (isLeapYear(year)) days[1] += 1;
int ans = 0;
for (int i = 0; i < month - 1; i++) ans += days[i];
ans += day;
return ans;
}
}