每日一题——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;
};

消耗时间和内存情况:

相关推荐
workflower3 小时前
单元测试-例子
java·开发语言·算法·django·个人开发·结对编程
Y42583 小时前
本地多语言切换具体操作代码
前端·javascript·vue.js
fruge4 小时前
React 2025 完全指南:核心原理、实战技巧与性能优化
javascript·react.js·性能优化
MicroTech20255 小时前
微算法科技(MLGO)研发突破性低复杂度CFG算法,成功缓解边缘分裂学习中的掉队者问题
科技·学习·算法
墨染点香5 小时前
LeetCode 刷题【126. 单词接龙 II】
算法·leetcode·职场和发展
aloha_7896 小时前
力扣hot100做题整理91-100
数据结构·算法·leetcode
etsuyou6 小时前
js前端this指向规则
开发语言·前端·javascript
Tiny番茄6 小时前
31.下一个排列
数据结构·python·算法·leetcode
挂科是不可能出现的6 小时前
最长连续序列
数据结构·c++·算法
前端小L7 小时前
动态规划的“数学之魂”:从DP推演到质因数分解——巧解「只有两个键的键盘」
算法·动态规划