【每日一题】【12.29】 - 【12.31】年终收尾

🔥博客主页: A_SHOWY
🎥系列专栏:力扣刷题总结录 数据结构  云计算  数字图像处理  力扣每日一题_

这三天的题目难度相对较小,基本都为模拟题,但是第二三的题目年份贡献类型很有代表性。2023年最后三天年终收尾,正好是周日,下次的每日一题更新新的一年新的一周开始。

【12.29】2706.购买两块巧克力 

2706. 购买两块巧克力icon-default.png?t=N7T8https://leetcode.cn/problems/buy-two-chocolates/ 

可以说是睡的最早的一集,就是一个排序后一次遍历的问题,3分钟秒了 

class Solution {
public:int buyChoco(vector<int>& prices, int money) {sort(prices.begin(),prices.end());int ans = 0;for(int i = 0 ; i < 2;i ++){ans += prices[i];}if(ans <= money) return (money - ans);else return money;}
};

【12.30】 1185.一周中的第几天

1185. 一周中的第几天icon-default.png?t=N7T8https://leetcode.cn/problems/day-of-the-week/

 

虽然是一个简单题,但是并不轻松,是一道稍微复杂的模拟题目,首先要熟悉判断闰年的条件,同时考虑清楚年、月、日的贡献和当年如果是闰年需要多共贡献一天。 

首先,我们应该找到一个 baseline,然后将所给的日期,基于这个 baseline 计算偏移量。因为题目所给的日期是在 1971 到 2100 年之间的有效日期,所以我们可以选取1970年12月31日为baseline,这一天是星期四,基于这个日期计算偏移量。

class Solution {
public:string dayOfTheWeek(int day, int month, int year) {vector<string> week = {"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"};vector<int> monthdays = {31,28,31,30,31,30,31,31,30,31,30,};//年份的贡献int days = 365*(year - 1 - 1970);for(int i = 1971; i < year;i++){if(i % 400 == 0 || (i % 4 == 0 &&i % 100 != 0)) days += 1;}//判断是否闰年if(month > 2 && (year % 400 == 0 || (year % 4 == 0 &&year % 100 != 0))) days +=1;//月份贡献for(int i = 0; i < month-1; i++){days += monthdays[i];}//天贡献days += day;return week[(days + 3) % 7];}
};

 判断闰年的条件:能被400整除或者能被4整除但不能被400整除。

i % 400 == 0 || (i % 4 == 0 &&i % 100 != 0)

在判断年的贡献的时候year要先减去1,因为不算今年的,今年的在后月份和天数的时候另算

int days = 365*(year - 1 - 1970);

判断完年份以后,要判断当年是不是闰年且大于2月份,如果是闰年加1,最后返回的时候由于1970年12月31日是星期4,可以假设1971年1月1日是星期5,是days是1,对应Tuesday而对应应该是Friday,所以加三再除以7取模。

   return week[(days + 3) % 7];

【12.31】1154.一年中的第几天 

1154. 一年中的第几天icon-default.png?t=N7T8https://leetcode.cn/problems/day-of-the-year/

 

也是模拟题,有了前一天的铺垫,今天的题目就显得简单的多了,也是通过年月日计算,但是这道题需要掌握复制子串的语句substr。

class Solution {
public:int dayOfYear(string date) {//复制子串int year = stoi(date.substr(0,4));int month = stoi(date.substr(5,2));int day = stoi(date.substr(8,2));vector<int> monthdays = {31,28,31,30,31,30,31,31,30,31,30};int days = 0;for(int i = 0; i < month - 1; i++){days += monthdays[i];}if(year % 400 == 0 ||(year % 4 == 0 && year % 100 != 0)){if(month > 2) days += 1;}days += day;return days;}
};

通过复制子串的操作求出年月日 ,第一个参数表示从几开始,第二个参数表示长度

 int year = stoi(date.substr(0,4));int month = stoi(date.substr(5,2));int day = stoi(date.substr(8,2));

同样通过求月份贡献,判断是否闰年,再加上日的贡献返回即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/588022.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MongoDB 数据类型

目录 BSON 类型 二进制数据&#xff08;Binary Data&#xff09; ObjectId ObjectId定义 文档中的ObjectId ObjectId的单调性 字符串&#xff08;String&#xff09; 时间戳&#xff08;Timestamps&#xff09; 日期&#xff08;Date&#xff09; BSON类型的排序 数…

I/O多路复用

I/O就是对缓冲区的操作 I/O多路复用使得程序能同时监听多个文件描述符能够提高程序的性能 I/O多路复用是一种有效的处理多个I/O事件的机制&#xff0c;允许一个单独的进程或线程来监视多个文件描述符&#xff08;sockets、文件、设备等&#xff09;&#xff0c;并在其中任何一个…

Python编程技巧 – format格式化文本

Python编程技巧 – format格式化文本 Python Programming Essentials - Using format() to format texts By JacksonML 本文简要介绍Python语言的format()方法&#xff08;也即函数&#xff09;相关实例和技巧&#xff0c;希望对读者有所帮助。 1. format定义和方法 forma…

如何处理并下载Sentinel-5数据

SENTINEL-5是欧洲空间局&#xff08;European Space Agency&#xff0c;ESA&#xff09;Copernicus计划中的一颗地球观测卫星。SENTINEL-5的主要任务是监测大气成分&#xff0c;特别是臭氧、氮二氧化物、二氧化硫、甲烷和其他气体的分布。这些观测对于了解大气污染、气候变化和…

php接口优化 使用curl_multi_init批量请求

PHP使用CURL同时抓取多个URL地址 抓取多个URL地址是Web开发中常见的需求&#xff0c;使用PHP的curl库可以简化这个过程。本文将详细介绍如何使用PHP的curl库同时请求多个URL地址&#xff0c;并提供具体的代码案例和注释。 curl库介绍 curl是一个常用的开源网络传输工具&…

图像分割实战-系列教程5:unet医学细胞分割实战3(医学数据集、图像分割、语义分割、unet网络、代码逐行解读)

&#x1f341;&#x1f341;&#x1f341;图像分割实战-系列教程 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Pycharm中进行 本篇文章配套的代码资源已经上传 上篇内容&#xff1a; unet医学细胞分割实战2 下篇内容&#xff1a; unet医学细胞分割实战4 5、损…

《Linux详解:深入探讨计算机基础》

《Linux详解&#xff1a;深入探讨计算机基础》 引言&#xff1a; 在计算机科学领域&#xff0c;操作系统是一个至关重要的概念&#xff0c;而Linux作为一种开源的Unix-like操作系统&#xff0c;不仅在服务器领域广泛应用&#xff0c;也在嵌入式系统、超级计算机等多个领域发挥…

Hermite矩阵

Hermite矩阵 文章目录 Hermite矩阵一、正规矩阵【定义】A^H^矩阵【定理】 A^H^的运算性质【定义】正规矩阵、特殊的正规矩阵【定理】与正规矩阵酉相似的矩阵也是正规矩阵【定理】正规的上(下)三角矩阵必为对角矩阵【定义】复向量的内积【定理】Schmitt正交化 二、酉矩阵&#x…

dijkstra和prim算法

最初看严蔚敏老师的《数据结构》一书时&#xff0c;便感觉Dijkstra (读作[daik stra])和Prim这两个算法几乎一摸一样&#xff0c;后来看到李清勇老师的《算法设计与问题求解》一书中对两中算法的比较&#xff0c;才知道两种算法的异同点。 关于Dijkstra的念法&#xff0c;请看…

Wireshark-win64

前言 Wireshark是使用最广泛的一款「开源抓包软件」&#xff0c;常用来检测网络问题、攻击溯源、或者分析底层通信机制。 它使用WinPCAP作为接口&#xff0c;直接与网卡进行数据报文交换。 Wireshark-win64 前言1 下载地址2 安装 1 下载地址 https://download.csdn.net/down…

k8s搭建(五、k8s可视化管理工具Dashboard配置)

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

linux 网络系统管理 技能大赛 nginx fastCGI配置

WEB服务 安装 nginx 软件包 配置文件名为 ispweb.conf&#xff0c;放置在/etc/nginx/conf.d/目录下 网站根目录为/mut/crypt&#xff08;目录不存在需创建&#xff09; 启用 FastCGI 功能&#xff0c;让 nginx 能够解析 php 请求 ndex.php 内容使用 Welcome to 2022 Compu…

【mysql】数据处理是否超时、处理时长

数据处理 是否超时 -- Mysql如何计算两个时间字段的差值&#xff1f;可用函数 TIMESTAMPDIFF() -- 0否&#xff0c;1是&#xff0c;-1未知&#xff0c;“处理时限”超48小时则视为超时 select case when TIMESTAMPDIFF(HOUR, tpp.ARCHIVE_DATE,tpp.DEADLINE_TIME) > 48 t…

2023.12.30 pymysql操作

目录 1.Pymysql 1.1连接pymysql 1.2 查询数据 1.3增删改操作 2. Pymysql数据库练习 2.1 代码实现 3.数据库练习2 假设之前已有用户登录的方法&#xff0c;但是该方法没有记录日志。现在想通过装饰器来增强原有功能 1.Pymysql 总结&#xff1a; fetchall(): 获取所有查询…

【Linux】修复 Linux 错误 - 打开文件过多

修复 Linux 错误 - 打开文件过多 在使用 Linux 操作系统时,有时会遇到一个常见的错误 - "打开文件过多"。这个错误通常发生在一个进程打开了太多的文件描述符,超过了系统的限制。本文将介绍如何识别和修复这个问题。 识别问题 要识别是否出现了"打开文件过…

什么是 JavaScript 中的生成器

JavaScript中的生成器代码是一种特殊的函数&#xff0c;它可以生成迭代器对象。生成器代码通过使用yield关键字来指示生成器的状态。每次调用生成器函数时&#xff0c;它都会返回一个迭代器对象&#xff0c;该对象可以用于以惰性的方式逐步产生值。 生成器代码的语法类似于普通…

Vue: 事件修饰符, 键盘事件, 鼠标事件,计算属性

目录 事件修饰符 阻止默认事件 阻止冒泡 允许触发一次 捕获模式 self passive 键盘事件 keyup & keydown 按键别名 注意tab 注意系统按键 自定义按键 鼠标事件 简介 鼠标焦点事件 计算属性 差值语法实现 methods实现 computed实现 get() set() 总…

2023-12-18 LeetCode每日一题(寻找峰值)

2023-12-18每日一题 一、题目编号 162. 寻找峰值二、题目链接 点击跳转到题目位置 三、题目描述 峰值元素是指其值严格大于左右相邻值的元素。 给你一个整数数组 nums&#xff0c;找到峰值元素并返回其索引。数组可能包含多个峰值&#xff0c;在这种情况下&#xff0c;返…

acwing 离散化

AcWing 802. 区间和 离散化就是使用更少的下标来表示一部份数// 例如&#xff1a;1&#xff0c;3&#xff0c;5 // 离散化前&#xff1a;0&#xff0c;1&#xff0c;2&#xff0c;3&#xff0c;4&#xff0c;5 // 离散化后&#xff1a;0&#xff0c;1&#xff0c;2注意去重方法…

信号与线性系统翻转课堂笔记19——连续/离散系统的零极点与稳定性

信号与线性系统翻转课堂笔记19——连续/离散系统的零极点与稳定性 The Flipped Classroom19 of Signals and Linear Systems 对应教材&#xff1a;《信号与线性系统分析&#xff08;第五版&#xff09;》高等教育出版社&#xff0c;吴大正著 一、要点 &#xff08;1&#x…