当前位置: 首页 > news >正文

LeetCode 1185. 一周中的第几天

一、题目

1、题目描述

给你一个日期,请你设计一个算法来判断它是对应一周中的哪一天。

输入为三个整数:daymonth 和 year,分别表示日、月、年。

您返回的结果必须是这几个值中的一个 {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}

2、接口描述

class Solution {
public:string dayOfTheWeek(int day, int month, int year) {}
};

3、原题链接

1185. 一周中的第几天


二、解题报告

1、思路分析

今天出这个题莫名其妙的,我们只需要找一天为基准,算出距离基准日期的天数,就能得到第几周了。根据数据范围是1971到2100之间,那么我们以1970.12.31为基准,算偏移了几天就行

或者我们也可以直接调用库函数,这也是工程中常用做法

2、复杂度

时间复杂度:O(C) 空间复杂度:O(C)

3、代码详解

​手写版
class Solution {
public:
static constexpr int days[] = { 0 , 31 , 28 , 31 , 30, 31, 30 , 31, 31 , 30 , 31 , 30 ,31};
static vector<string> week;string dayOfTheWeek(int day, int month, int year) {int s = 365 * (year - 1971) + (year - 1969) / 4;for(int i = 1 ; i < month ; i++)s += days[i];if(((!(year % 4) && year % 100) || year % 400 == 0) && month > 2)s++;s += day;return week[(s + 3) % 7];}
};
vector<string> Solution::week = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};

库函数版

C++

class Solution {const string weekdays[7] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
public:string dayOfTheWeek(int day, int month, int year) {tm dt = {0, 0, 0, day, month - 1, year - 1900};time_t t = mktime(&dt);return weekdays[localtime(&t)->tm_wday];}
};

Python3

class Solution:def dayOfTheWeek(self, day: int, month: int, year: int) -> str:return datetime.datetime(year, month, day).strftime("%A")

相关文章:

LeetCode 1185. 一周中的第几天

一、题目 1、题目描述 给你一个日期&#xff0c;请你设计一个算法来判断它是对应一周中的哪一天。 输入为三个整数&#xff1a;day、month 和 year&#xff0c;分别表示日、月、年。 您返回的结果必须是这几个值中的一个 {"Sunday", "Monday", "Tues…...

大数据学习(30)-Spark Shuffle

&&大数据学习&& &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 承认自己的无知&#xff0c;乃是开启智慧的大门 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4dd;支持一下博主哦&#x1f91…...

Linux部署ELK

大家好&#xff0c;我是升仔 引言 在复杂的系统架构中&#xff0c;日志管理是一个关键的环节。ELK栈提供了一个高效的解决方案&#xff0c;能够帮助我们快速定位问题、分析数据&#xff0c;并实现实时监控。部署ELK栈是一项挑战&#xff0c;但收益巨大。 基础安装和配置 环境准…...

Python 实现 PDF 到 Word 文档的高效转换(DOC、DOCX)

PDF&#xff08;Portable Document Format&#xff09;已成为一种广泛使用的电子文档格式。PDF的主要优势是跨平台&#xff0c;可以在不同设备上呈现一致的外观。然而&#xff0c;当我们需要对文件内容进行编辑或修改&#xff0c;直接编辑PDF文件会非常困难&#xff0c;而且效果…...

【MYSQL】MYSQL 的学习教程(七)之 慢 SQL 优化思路

1. 慢 SQL 优化思路 慢查询日志记录慢 SQLexplain 分析 SQL 的执行计划profile 分析执行耗时Optimizer Trace 分析详情确定问题并采用相应的措施 1. 慢查询日志记录慢 SQL 如何定位慢SQL呢&#xff1f; 我们可以通过 慢查询日志 来查看慢 SQL。 ①&#xff1a;开启慢查询日志…...

unity学习笔记----游戏练习0

一、修复植物种植的问题 1.当手上存在植物时&#xff0c;再次点击卡片上的植物就会在手上添加新的植物&#xff0c;需要修改成只有手上没有植物时才能再次获取到植物。需要修改AddPlant方法。 public bool AddPlant(PlantType plantType) { //防止手上出现多个植…...

ai概念:强人工智能介绍、迁移学习

强人工智能&#xff08;Strong Artificial Intelligence&#xff0c;SAI&#xff09;是指一种具有与人类智能相媲美或超越人类智能水平的人工智能系统。与弱人工智能&#xff08;Weak Artificial Intelligence&#xff0c;WAI&#xff09;不同&#xff0c;强人工智能具有更高级…...

go语言设计模式-单例模式

建造型设计模式-单例模式 是用来控制类型实例的数量的&#xff0c;当需要确保一个类型只有一个实例时&#xff0c;就需要使用单例模式。 即把实例的访问进行收口&#xff0c;不能谁都能 new 类&#xff0c;所以单例模式还会提供一个2访问该实例的全局端口&#xff0c;一般都会…...

超维空间S2无人机使用说明书——51、基础版——使用yolov8进行目标跟踪

引言&#xff1a;为了提高yolo识别的质量&#xff0c;提高了yolo的版本&#xff0c;改用yolov8进行物体识别&#xff0c;同时系统兼容了低版本的yolo&#xff0c;包括基于C的yolov3和yolov4&#xff0c;以及yolov7。 简介&#xff0c;为了提高识别速度&#xff0c;系统采用了G…...

Transformer(seq2seq、self-attention)学习笔记

在self-attention 基础上记录一篇Transformer学习笔记 Transformer的网络结构EncoderDecoder 模型训练与评估 Transformer的网络结构 Transformer是一种seq2seq 模型。输入一个序列&#xff0c;经过encoder、decoder输出结果也是一个序列&#xff0c;输出序列的长度由模型决定…...

2023-12-29 服务器开发-centos部署ftp

摘要: 2023-12-29 服务器开发-centos-部署ftp 部署ftp vsftpd&#xff08;very secure FTP daemon&#xff09;是Linux下的一款小巧轻快、安全易用的FTP服务器软件。本教程介绍如何在Linux实例上安装并配置vsftpd。 前提条件 已创建ECS实例并为实例分配了公网IP地址。 背景…...

螺旋数字阵(100%用例)C卷 (JavaPythonNode.jsC语言C++)

疫情期间,小明隔离在家,百无聊赖,在纸上写数字玩。他发明了一种写法: 给出数字个数n和行数m (0 < n <= 999,0 < m <= 999) ,从左上角的1开始,按照顺时针螺旋向内写方式,依次写出2,3...n,最终形成一个m行矩阵 小明对这个矩阵有些要求 1.每行数字的个数一样多…...

AUTOSAR从入门到精通-网络通信(UDPNm)(二)

目录 前言 原理 UdpNm工作原理 UdpNm与CanNM的区别联系 网络管理算法...

显示器与按键(LCD 1602 + button)

一、实验目的&#xff1a; &#xff08;1&#xff09;学习lcd 1602的编程与使用、 &#xff08;2&#xff09;机械式复位开关button软件消抖的方法。 二、实验内容&#xff1a; 1、必做&#xff1a;先显示开机画面&#xff0c;&#xff1a;在1602显示器上&#xff0c;分两行…...

2020年认证杯SPSSPRO杯数学建模B题(第一阶段)分布式无线广播全过程文档及程序

2020年认证杯SPSSPRO杯数学建模 B题 分布式无线广播 原题再现&#xff1a; 以广播的方式来进行无线网通信&#xff0c;必须解决发送互相冲突的问题。无线网的许多基础通信协议都使用了令牌的方法来解决这个问题&#xff0c;在同一个时间段内&#xff0c;只有唯一一个拿到令牌…...

【CISSP学习笔记】7. 安全评估与测试

该知识领域涉及如下考点&#xff0c;具体内容分布于如下各个子章节&#xff1a; 设计和验证评估、测试和审计策略进行安全控制测试收集安全过程数据&#xff08;例如&#xff0c;技术和管理&#xff09;分析测试输出并生成报告执行或协助安全审计 7.1. 构建安全评估和测试方案…...

Gateway集成方法以及拦截器和过滤器的使用

前提&#xff1a;请先创建好一个SpringBoot项目 1. 引入依赖 SpringCloud 和 alibabaCloud 、 SpringBoot间对版本有强制要求&#xff0c;我使用的springboot是3.0.2的版本。版本对应关系请看&#xff1a;版本说明 alibaba/spring-cloud-alibaba Wiki GitHub <dependency…...

第G2周:人脸图像生成(DCGAN)

&#x1f368; 本文为[&#x1f517;365天深度学习训练营学习记录博客\n&#x1f366; 参考文章&#xff1a;365天深度学习训练营\n&#x1f356; 原作者&#xff1a;[K同学啊 | 接辅导、项目定制]\n&#x1f680; 文章来源&#xff1a;[K同学的学习圈子](https://www.yuque.co…...

【Web】Ctfshow Thinkphp5 非强制路由RCE漏洞

目录 非强制路由RCE漏洞 web579 web604 web605 web606 web607-610 前面审了一些tp3的sql注入,终于到tp5了&#xff0c;要说tp5那最经典的还得是rce 下面介绍非强制路由RCE漏洞 非强制路由RCE漏洞原理 非强制路由相当于开了一个大口子&#xff0c;可以任意调用当前框…...

python3遇到Can‘t connect to HTTPS URL because the SSL module is not available.

远程服务器centos7系统上有minicoda3&#xff0c;觉得太占空间&#xff0c;就把整个文件夹删了&#xff0c;原先的Python3也没了&#xff0c;都要重装。 我自己的步骤&#xff1a;进入管理员模式 1.下载Python3的源码&#xff1a; wget https://www.python.org/ftp/python/3.1…...

SVM支持向量机核函数选择避坑指南:从线性到RBF,如何根据你的数据特征做决定?

SVM核函数选择实战指南&#xff1a;从数据特征到模型调优的全流程解析 第一次在Scikit-learn中调用SVC类时&#xff0c;面对kernel参数下拉菜单里linear、poly、rbf、sigmoid四个选项&#xff0c;我盯着屏幕发了五分钟呆——这感觉就像走进一家高级餐厅&#xff0c;服务员递来一…...

FPGA信号调试必备:Quartus中keep、preserve、noprune的正确用法与避坑指南

FPGA信号调试必备&#xff1a;Quartus中keep、preserve、noprune的正确用法与避坑指南 在FPGA开发过程中&#xff0c;信号调试是最令人头疼的环节之一。特别是当你发现仿真时明明存在的关键信号&#xff0c;在综合后却神秘消失时&#xff0c;那种挫败感简直难以言表。作为一名长…...

Matlab中的QRBiGRU分位数回归双向门控循环单元模型:多图输出与多指标评估的时间序列区间预测

Matlab实现基于QRBiGRU分位数回归双向门控循环单元的时间序列区间预测模型&#xff1a; 1.Matlab实现基于QRBiGRU分位数回归双向门控循环单元的时间序列区间预测模型 2.多图输出、多指标输出(MAE、RMSE、MSE、R2)&#xff0c;多输入单输出&#xff0c;含不同置信区间图、概率密…...

FastAdmin+PHPStudy保姆级安装教程:从下载到配置数据库的完整流程

FastAdminPHPStudy极速开发环境搭建实战指南 作为一名长期使用FastAdmin框架的开发者&#xff0c;我深知一个顺畅的本地开发环境对项目效率的影响。本文将带你从零开始&#xff0c;用最简洁的方式完成FastAdmin与PHPStudy的完美搭配&#xff0c;避开那些新手常踩的"坑&quo…...

分子构象采样新范式:CREST工具解决药物研发核心挑战

分子构象采样新范式&#xff1a;CREST工具解决药物研发核心挑战 【免费下载链接】crest Conformer-Rotamer Ensemble Sampling Tool based on the xtb Semiempirical Extended Tight-Binding Program Package 项目地址: https://gitcode.com/gh_mirrors/crest/crest 在药…...

ai全程护航:让快马智能助手帮你搞定proteus安装与初学难题

最近在折腾Proteus仿真软件时&#xff0c;发现从安装到入门会遇到不少"坑"。好在发现了InsCode(快马)平台的AI辅助功能&#xff0c;整个过程变得轻松多了。这里分享下如何用AI搞定Proteus全流程难题的实践心得。 智能安装诊断 第一次安装Proteus时&#xff0c;遇到许…...

5分钟搞定PaddleOCR文字识别:Python版保姆级教程(附完整代码)

5分钟极速上手PaddleOCR&#xff1a;Python实战指南与避坑手册 第一次接触OCR技术时&#xff0c;我被那些复杂的配置参数和晦涩的文档吓退了三次。直到发现PaddleOCR这个"开箱即用"的工具&#xff0c;才明白原来文字识别可以如此简单。本文将带你用最直接的方式&…...

基于ANPC型三电平逆变器的VSG并网及参数自适应控制

ANPC虚拟同步机&#xff08;VSG&#xff09;并网&#xff08;参数自适应控制&#xff09;&#xff0c;基于ANPC型三电平逆变器的参数自适应控制&#xff0c;采用电压电流双闭环控制&#xff0c;中点电位平衡控制&#xff0c;且实现VSG并网。 1.VSG参数自适应 2.VSG并网 3.提供相…...

Word空白页删不掉?【图文讲解】怎么删除word空白页?word批量删除空白页?5种方法教你彻底删除

&#xff08;1&#xff09;问题背景谁在编辑 Word 时没被顽固空白页气到抓狂&#xff1f;写论文、做报告、整理文案&#xff0c;明明内容已经结束&#xff0c;页面末尾偏偏多出一页空白&#xff0c;删也删不掉、退也退不去。打印时白白浪费纸张&#xff0c;上交文档显得格外不专…...

计算机毕业设计springboot校园文化社区视频网站 基于SpringBoot的校园文化交流短视频平台 SpringBoot框架下的高校文化分享与视频互动系统

计算机毕业设计springboot校园文化社区视频网站94nso9 &#xff08;配套有源码 程序 mysql数据库 论文&#xff09;本套源码可以先看具体功能演示视频领取&#xff0c;文末有联xi 可分享在"互联网校园"理念全面渗透的今天&#xff0c;视频已成为大学生记录生活、传播…...