方法一 列举法:
用一个数组把每个月份的天数都列举出来
判断闰年,是闰年2月份有29天
循环对当前月份之前的月份天数求和
加上当天月份的天数
var dayOfYear = function(date) {
let year = +date.slice(0, 4);
let month = +date.slice(5, 7);
let day = +date.slice(8);
let amount = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
if (year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0)) {
++amount[1];
}
let ans = 0;
for (let i = 0; i < month - 1; ++i) {
ans += amount[i];
}
return ans + day;
};
消耗时间和内存情况: