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

news2025/2/27 14:18:33

🔥博客主页: 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.coloradmin.cn/o/1347147.html

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

相关文章

2023 全球 AI 大事件盘点

本文来自微信公众号硅星人

面试官:谈谈对CyclicBarrier的理解

程序员的公众号&#xff1a;源1024&#xff0c;获取更多资料&#xff0c;无加密无套路&#xff01; 最近整理了一波电子书籍资料&#xff0c;包含《Effective Java中文版 第2版》《深入JAVA虚拟机》&#xff0c;《重构改善既有代码设计》&#xff0c;《MySQL高性能-第3版》&…

Unity 新版 Meta XR SDK 无法导入解决方法

文章目录 &#x1f4d5;教程说明&#x1f4d5;新版 SDK 说明&#x1f4d5;从 Meta 官网导入开发包⭐依赖包⭐如何导入⭐导入后包存放在哪里了&#xff1f;⭐场景样例文件去哪了&#xff1f; 此教程相关的详细教案&#xff0c;文档&#xff0c;思维导图和工程文件会放入 Spatia…

Apollo自动驾驶:改变交通运输的游戏规则

前言 「作者主页」&#xff1a;雪碧有白泡泡 「个人网站」&#xff1a;雪碧的个人网站 ChatGPT体验地址 文章目录 前言1. Apollo缓存层2. 本地状态管理库3. 离线同步和冲突解决4. 离线数据同步和离线优先策略结论 &#x1f4f2;&#x1f50c; 构建离线应用&#xff1a;Apollo…

Decorator装饰模式(单一责任)

Decorator&#xff08;装饰模式&#xff1a;单一责任模式&#xff09; 链接&#xff1a;装饰模式实例代码 解析 目的 在某些情况下我们可能会“过度地使用继承来扩展对象的功能”&#xff0c;由于继承为类型引入的静态特质&#xff0c;使得这种扩展方式缺乏灵活性&#xff…

ZYNQ 7020 之 FPGA知识点重塑笔记一——串口通信

目录 一&#xff1a;串口通信简介 二&#xff1a;三种常见的数据通信方式—RS232串口通信 2.1 实验任务 2.2 串口接收模块的设计 2.2.1 代码设计 2.3 串口发送模块的设计 2.3.1 代码设计 2.4 顶层模块编写 2.4.1 代码设计 2.4.2 仿真验证代码 2.4.3 仿真结果 2.4.4…

小信跳房子的题解

原题描述&#xff1a; 时间&#xff1a;1s 空间&#xff1a;256M 题目描述&#xff1a; 小信在玩跳房子游戏&#xff0c;已知跳房子游戏的图表现为一颗完美的具有个节点的二叉树。从根节点依次编号为。节点的左子节点编号为&#xff0c;右子节点编号为。 小信从从节点出发&…

万字盘点 Android 领域在 2023 年的重要技术:AI, 14, Compose, 鸿蒙...

AICore 2022 年底横空出世的 GPT-3.5 引发了全球的大模型 LLM 狂潮。作为在 AI 领域耕耘多年的巨头&#xff0c;Google 自然不会坐视不管&#xff0c;于 2023 年底之际发布了超越 GPT-4 的 Gemini 系列模型&#xff0c;其在多模态领域的表现令无数人震撼。 而对于 Android 开发…

接口自动化测试实战经验分享(附教程)

作为测试&#xff0c;你可能会对以下场景感到似曾相识&#xff1a;开发改好的 BUG 反复横跳&#xff1b;版本兼容逻辑多&#xff0c;修复一个 BUG 触发了更多 BUG&#xff1b;上线时系统监控毫无异常&#xff0c;过段时间用户投诉某个页面无数据&#xff1b;改动祖传代码时如履…

HTML教程(1)——概述和第一个网页

一、什么是HTML HTML 是用来描述网页的一种语言。 HTML 指的是超文本标记语言 (Hyper Text Markup Language)HTML 不是一种编程语言&#xff0c;而是一种标记语言 (markup language)标记语言是一套标记标签 (markup tag)HTML 使用标记标签来描述网页 二、什么是HTML 标签 H…

你真的懂Hello World!吗?(编译与链接,静态链接与动态链接)

&#x1f4ab;Hello World! 对于大家来说Hello World!应该是最熟悉不过的一句话&#xff0c;我们从Hello World!走进了计算机的世界&#xff0c;但是你真的了解Hello World!吗&#xff1f;你又思考过它背后蕴含的机理吗&#xff1f;他是怎么从代码变成程序的你真的思考过吗&…

LINUX 抓包工具Tcpdump离线安装教程

本次教程基于内网环境无法访问网络使用安装包进行安装抓包工具 1、首先给大家看下一共有6个安装包&#xff0c;依次进行解压&#xff0c;包我就放到csdn上了&#xff0c;需要的可以联系我进行下载 2打包然后传到服务器任意一个目录下&#xff0c;进入到当前目录&#xff0c;然后…

第11章 访问维护

上一章讨论了在目标主机上提升权限的方法。本章将介绍在滲透测试过程的最后一个环节&#xff0c;即帮助我们随时进入目标主机的方法。 在完成了提升权限的阶段性工作之后&#xff0c;我们应当建立一种机制&#xff0c;以维持对目标主机的控制权。这样一来&#xff0c;即使我们…

GPT3.5 改用 GPT4 价格翻了30倍 如何破局? GPT 对话成本推演

场景介绍 假设你搭建了一个平台&#xff0c;提供 ChatGPT 3.5 的聊天服务。目前已经有一批用户的使用数据&#xff0c;想要测算一下如果更换 GPT 4.0 服务需要多少成本&#xff1f; 方案阐述 如果是全切&#xff0c;最简单粗暴的方案就是根据提供 ChatGPT 3.5 消费的金额乘…

Rust学习笔记004:Rust的所有权机制

内存相关的基础知识 不同语言的内存管理系统 栈和堆 堆和栈的使用 引出所有权方案 String类型 Rust 的所有权机制 Rust 的所有权机制是一种内存管理系统&#xff0c;它允许在编译时通过所有权、借用和生命周期来确保内存安全&#xff0c;同时避免了垃圾回收的运行时开销。这些…

2023-12-21 LeetCode每日一题(美丽塔 II)

2023-12-21每日一题 一、题目编号 2866. 美丽塔 II二、题目链接 点击跳转到题目位置 三、题目描述 给你一个长度为 n 下标从 0 开始的整数数组 maxHeights 。 你的任务是在坐标轴上建 n 座塔。第 i 座塔的下标为 i &#xff0c;高度为 heights[i] 。 如果以下条件满足&a…

软件工程PPT 笔记摘录(2)

分析软件需求 UML 提供了用例图来分析和描述用例视角的软件需求模型 UML 提供了交互图和状态图来描述行为视角的软件需求模型 UML 提供了类图来描述和分析业务领域的概念模型 顺序图&#xff1a;强调消息传递的时间序 通信图&#xff1a;突出对象间的合作 类图&#xff0…

【SAP-FICO】--总账标识配置路径OBXR

FICO业务需求&#xff1a; F-02&#xff0c;财务会计凭证填写09客户A时&#xff0c;带出的总账标识为可编辑。 需求截图&#xff1a; 第一步&#xff1a;了解需求 首先&#xff0c;我们要明白&#xff0c;财务凭证生成&#xff0c;是分多种类型&#xff08;不同类型的凭证&a…

【深度学习:Few-shot learning】理解深入小样本学习中的孪生网络

【深度学习&#xff1a;Few-shot learning】理解深入小样本学习中的孪生网络 深入理解孪生网络&#xff1a;架构、应用与未来展望小样本学习的诞生元学习小样本学习孪生网络的基本概念孪生网络的细节Triplet Loss架构特点关键组件训练过程主要应用领域未来展望示例图片结论 备注…

[JS设计模式]Prototype Pattern

Prototype pattern Prototype pattern可便于同类型的多个对象共享属性。原型&#xff08;prototype&#xff09;是JS原生的对象&#xff0c;其他对象可以通过原型链&#xff08;prototype chain&#xff09;来访问原型。单独看这句描述可能还是有点儿抽象&#xff0c;下面通过…