每日一题——LeetCode1154.一年中的第几天

每日一题——LeetCode1154.一年中的第几天_第1张图片方法一 列举法:

用一个数组把每个月份的天数都列举出来

判断闰年,是闰年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;
};

消耗时间和内存情况:

每日一题——LeetCode1154.一年中的第几天_第2张图片

你可能感兴趣的:(每日一题,javascript,leetcode,算法)