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

方法一 列举法:

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

判断闰年,是闰年2月份有29天

循环对当前月份之前的月份天数求和

加上当天月份的天数

javascript 复制代码
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;
};

消耗时间和内存情况:

相关推荐
bearpping3 小时前
Nginx 配置:alias 和 root 的区别
前端·javascript·nginx
@大迁世界4 小时前
07.React 中的 createRoot 方法是什么?它具体如何运作?
前端·javascript·react.js·前端框架·ecmascript
I_LPL4 小时前
hot100贪心专题
数据结构·算法·leetcode·贪心
颜酱5 小时前
DFS 岛屿系列题全解析
javascript·后端·算法
WolfGang0073215 小时前
代码随想录算法训练营 Day16 | 二叉树 part06
算法
霍理迪5 小时前
Vue的响应式和生命周期
前端·javascript·vue.js
2401_831824966 小时前
代码性能剖析工具
开发语言·c++·算法
Sunshine for you7 小时前
C++中的职责链模式实战
开发语言·c++·算法
qq_416018727 小时前
C++中的状态模式
开发语言·c++·算法