LeetCode 1154. 一年中的第几天:2023年最后一道每日一题
【LetMeFly】1154.一年中的第几天:2023年最后一道每日一题
力扣题目链接:https://leetcode.cn/problems/day-of-the-year/
给你一个字符串 date ,按 YYYY-MM-DD 格式表示一个 现行公元纪年法 日期。返回该日期是当年的第几天。
示例 1:
输入:date = "2019-01-09" 输出:9 解释:给定日期是2019年的第九天。
示例 2:
输入:date = "2019-02-10" 输出:41
提示:
date.length == 10date[4] == date[7] == '-',其他的date[i]都是数字date表示的范围从 1900 年 1 月 1 日至 2019 年 12 月 31 日
方法一:日期处理
首先明确一年中的12个月分别有几天(以非闰年为例):dayOfMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]。
如果是闰年,那么2月有29天(dayOfMonth[1] = 29)。
怎么判断一年是否为闰年呢?
- 如果年份是100的倍数,则只有年份为400的倍数时为闰年
- 否则,年份为4的倍数时为闰年
从给定字符串中,我们可以很方便地“分离出”年y月m日d,从1月到m - 1月累加这个月的天数,再加上d即为答案。
- 时间复杂度 O ( 1 ) O(1) O(1),将一年的
12个月视为常数 - 空间复杂度 O ( 1 ) O(1) O(1)
AC代码
C++
class Solution {
private:int dayOfMonth[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};bool isRunNian(int y) {if (y % 100 == 0) {return y % 400 == 0;}return y % 4 == 0;}public:int dayOfYear(string date) {int y, m, d;sscanf(date.c_str(), "%d-%d-%d", &y, &m, &d);if (isRunNian(y)) {dayOfMonth[1] = 29;}int ans = 0;for (int i = 1; i < m; i++) {ans += dayOfMonth[i - 1];}ans += d;return ans;}
};
Python
class Solution:def ifRunNian(self, y: int) -> bool:if y % 100 == 0:return y % 400 == 0return y % 4 == 0def dayOfYear(self, date: str) -> int:dayOfMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]y, m, d = map(int, date.split('-'))if self.ifRunNian(y):dayOfMonth[1] = 29ans = 0for i in range(1, m):ans += dayOfMonth[i - 1]ans += dreturn ans
同步发文于CSDN,原创不易,转载经作者同意后请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/135315004
相关文章:
LeetCode 1154. 一年中的第几天:2023年最后一道每日一题
【LetMeFly】1154.一年中的第几天:2023年最后一道每日一题 力扣题目链接:https://leetcode.cn/problems/day-of-the-year/ 给你一个字符串 date ,按 YYYY-MM-DD 格式表示一个 现行公元纪年法 日期。返回该日期是当年的第几天。 示例 1&…...
《深入理解JAVA虚拟机笔记》OutOfMemoryError 异常
在《Java 虚拟机规范》的规定里,除了程序计数器外,虚拟机内存的其他几个运行时区域都有发生 OutOfMemoryError (下文称 OOM)异常的可能。 Java堆溢出 Java 堆用于储存对象实例,我们只要不断地创建对象,并…...
R306指纹识别模块指令系统
一:指令集 1. GR_GetImage 指令代码:01H 功能:从传感器上读入图像存于图像缓冲区 2. GR_GenChar 指令代码:02H 功能:根据原始图像生成指纹特征存于 CharBuffer1 或 CharBuffer2 3. GR_Match 指令代码ÿ…...
redis的搭建及应用(三)-Redis主从配置
Redis主从配置 为提升Redis的高可用性,需要搭建多个Redis集群以保证高可用性。常见搭建方式有:主从,哨兵集群等,本节我们搭建一主二从的多Redis架构。 redis主从安装1主2从的方式配置,以端口号为redis的主从文件夹。 主…...
Java学习,一文掌握Java之SpringBoot框架学习文集(1)
🏆作者简介,普修罗双战士,一直追求不断学习和成长,在技术的道路上持续探索和实践。 🏆多年互联网行业从业经验,历任核心研发工程师,项目技术负责人。 🎉欢迎 👍点赞✍评论…...
javaWeb学生信息管理系统2
一、学生信息管理系统SIMS 一款基于纯Servlet技术开发的学生信息管理系统(SIMS),在设计中没有采用SpringMVC和Spring Boot等框架。系统完全依赖于Servlet来处理HTTP请求和管理学生信息,实现了信息的有效存储、检索和更新…...
Linux Shell 019-文本行处理工具sed
Linux Shell 019-文本行处理工具sed 本节关键字:Linux、Bash Shell、文本行处理工具 相关指令:sed、 sed介绍 sed是Stream Editor(流编辑器)的缩写,简称流编辑器;用来处理文件的。sed是一行一行读取文件…...
Ubuntu中fdisk磁盘分区并挂载、扩容逻辑卷
Ubuntu中fdisk磁盘分区并挂载、扩容逻辑卷 一:fdisk磁盘分区并挂载1.查看磁盘分区信息2.分区3.强制系统重新读取分区(避免重启系统)4.格式化分区5.创建挂载目录6.设置开机自动挂载:7.验证并自动挂载(执行了该命令不需要重启系统)8.查看挂载007.异常情况处…...
【leetcode】栈与队列总结
本文内容来自于代码随想录 栈 用栈实现队列 两个栈实现队列。思路:两个栈分别表示入栈和出栈。 入队:直接入栈出队: a. 出栈为空,先把入栈中的元素全部放到出栈中(相当于反过来,这样在出栈的时候先进的元…...
[EFI]HP Spectre 13 v102nl电脑 Hackintosh 黑苹果efi引导文件
硬件型号驱动情况主板 HP Spectre 13 v102nl 处理器Intel Core i7-7500U (7th gen - Kaby Lake)已驱动内存8 GB LPDDR3-1866 SDRAM已驱动硬盘512 GB Toshiba NVMe™ M.2 SSD已驱动显卡Intel HD Graphics 620已驱动声卡Conexant CX8200 (0x2008)已驱动网卡I1211 Gigabit Etherne…...
【Pytorch】学习记录分享8——PyTorch自然语言处理基础-词向量模型Word2Vec
【Pytorch】学习记录分享7——PyTorch自然语言处理基础-词向量模型Word2Vec 1. 词向量模型Word2Vec)1. 如何度量这个单词的?2.词向量是什么样子?3.词向量对应的热力图:4.词向量模型的输入与输出,其实…...
用Xshell连接虚拟机的Ubuntu20.04系统记录。虚拟机Ubuntu无法上网。本机能ping通虚拟机,反之不能。互ping不通
先别急着操作,看完再试。 如果是:本机能ping通虚拟机,反之不能。慢慢看到第8条。 如果是:虚拟机不能上网(互ping不通),往下一直看。 系统是刚装的,安装步骤:VMware虚拟机…...
人机对话--关于意识机器
人机对话–关于意识机器 这段内容是我和《通义千问》的对话。这本身展示的是人工智能的效果,同时这里面的内容也有人工智能相关,与各位分享。 我:阿尼尔赛斯 《意识机器》这本书写的是什么? 通义千问: 阿尼尔赛斯教…...
八股文打卡day16——计算机网络(16)
面试题:TCP连接是如何确保可靠性的? 我的回答: 1.数据分块控制。应用数据被分成被认为最适合传输的数据块大小,再发送到传输层,数据块被称为数据报文段或数据段。 2.序列号和确认应答。TCP为每一个数据包分配了一个序…...
Java Object浅克隆深克隆
对象克隆 把A对象的属性值完全拷贝给B对象,也叫对象拷贝,对象复制。 实现Cloneable接口,表示当前类的对象就可以被克隆,反之,表示当前类的对象就不能克隆。 如果一个接口里面没有抽象方法,表示当前的接口…...
概率的 50 个具有挑战性的问题 [8/50]:完美的桥牌
一、说明 我最近对与概率有关的问题产生了兴趣。我偶然读到了弗雷德里克莫斯特勒(Frederick Mosteller)的《概率论中的五十个具有挑战性的问题与解决方案》)一书。我认为创建一个系列来讨论这些可能作为面试问题出现的迷人问题会很有趣。每篇…...
自动驾驶学习笔记(二十四)——车辆控制开发
#Apollo开发者# 学习课程的传送门如下,当您也准备学习自动驾驶时,可以和我一同前往: 《自动驾驶新人之旅》免费课程—> 传送门 《Apollo开放平台9.0专项技术公开课》免费报名—>传送门 文章目录 前言 控制算法 控制标定 控制协议…...
【起草】【第十二章】定制ChatGPT数字亲人
身为普普通通的我们,不知道亲人们在哪一天就要离开这个世界 ? 作为普普通通的程序员,我们可以为我们的亲人做点什么 ? 让他们以数字资产形式留在人世间 ? 对话|6岁女孩病逝捐器官,妈妈:她去…...
MySQL数据库索引
索引的定义 索引是一个排序的列表,包含索引字段的值和其对应的行记录的数据所在的物理地址 索引的作用 加快表的查询速度,还可以对字段排序 索引的副作用 会额外占用磁盘空间;更新包含索引的表会花费更多的时间,效率会更慢 …...
毕业论文党必看!用MathType实现Word公式自动编号的3种隐藏技巧
毕业论文公式排版终极指南:MathType高效编号技巧全解析 在撰写理工科毕业论文或学术论文时,公式排版往往是让研究者头疼的环节。传统手动编号不仅效率低下,更会在修改文档时引发连锁灾难——一个公式的增删可能导致全篇编号错乱。MathType作为…...
FanControl深度应用指南:从噪音溯源到智能散热系统搭建
FanControl深度应用指南:从噪音溯源到智能散热系统搭建 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/f…...
Docker 容器中文字体及 matplotlib 环境应用
为了避开 Noto CJK 这种复杂的 TTC(TrueType Collection)大包带来的识别问题,最理想的选择是使用独立打包的 OTF 或 TTF 字体。 0. 环境检查 # 1. 更新源并安装 fontconfig apt-get update apt-get install -y fontconfig# 2. 现在 fc-cache 命令可用了,刷新系统字体 fc-…...
so-vits-svc声压级标准化终极指南:如何避免AI语音转换中的音频质量损伤
so-vits-svc声压级标准化终极指南:如何避免AI语音转换中的音频质量损伤 【免费下载链接】so-vits-svc SoftVC VITS Singing Voice Conversion 项目地址: https://gitcode.com/gh_mirrors/so/so-vits-svc so-vits-svc作为当前最先进的AI歌声转换框架ÿ…...
Obsidian Full Calendar:5步构建个人知识与时间管理一体化系统
Obsidian Full Calendar:5步构建个人知识与时间管理一体化系统 【免费下载链接】obsidian-full-calendar Keep events and manage your calendar alongside all your other notes in your Obsidian Vault. 项目地址: https://gitcode.com/gh_mirrors/obs/obsidian…...
从GigE Vision到千兆UDP:FPGA图像采集系统的灵活升级与10G MAC预留设计
从GigE Vision到千兆UDP:FPGA图像采集系统的灵活升级与10G MAC预留设计 在工业视觉和机器视觉领域,图像采集系统的带宽需求正以惊人的速度增长。随着4K、8K高分辨率相机的普及,以及多相机同步采集场景的增多,传统的千兆以太网接口…...
别再手动拆任务了!用CrewAI+DeepSeek打造你的第一个AI小团队(附PDF解析实战)
用CrewAI构建自动化AI团队:从PDF解析到智能协作实战 在传统AI开发中,开发者往往需要手动编写复杂的任务流程,像指挥一个士兵完成所有战斗。而CrewAI带来的革命性变化在于——它让你能够组建一支训练有素的AI特种部队,每个成员各司…...
2. Linux桌面环境介绍
2. Liunx桌面环境介绍 桌面介绍终端设置 设置终端属性:字体快捷键: 新建终端(ctrlaltN)新建标签(ctrlaltT)背景和锁屏设置语言和输入法设置课后作业 系统开机、关机账户的注销、锁屏打开常用程序࿰…...
wan2.1-vae中英文双语支持实测:中文提示词准确率92%+英文prompt兼容性验证
wan2.1-vae中英文双语支持实测:中文提示词准确率92%英文prompt兼容性验证 1. 平台核心能力解析 wan2.1-vae是基于Qwen-Image-2512模型的AI图像生成平台,其最大特色在于原生支持中英文双语提示词。在实际测试中,中文提示词的理解准确率达到9…...
Flutter 实现点击任意位置收起键盘的最佳实践
痛点 在 Flutter 开发中,TextField 聚焦后会弹出键盘,关闭键盘通常需要: 点击系统返回键点击输入框外的空白区域(但很多情况下点击空白区域也没反应)点击其他输入框(键盘会切换到另一个输入框,不…...
