日期差值的计算
1、枚举所有数值进行日期判断
时间复杂度是o(n)的,比较慢,单实例能凑合用,多实例的话时间复杂度有点高。
核心代码就是判断某个八位数能否表示一个日期。
static int[] month = {0,31,28,31,30,31,30,31,31,30,31,30,31};static String a, b; static void sovle() throws Exception {b = br.readLine();int s = 0;int l = Integer.parseInt(a), r = Integer.parseInt(b);for(int i = l; i <= r; i ++) if(check(i))s ++;bw.write(s + "\n");}private static boolean check(int i) {int a = i / 10000, b = i / 100 % 100, c = i % 100;if(b < 1 || b > 12 || c < 1) return false;if(b == 2 && asd(a)) return c <= 29;return c <= month[b];}private static boolean asd(int a) {return a % 400 == 0 || a % 4 == 0 && a % 100 != 0;} public static void main(String args[]) throws Exception {
// int t = Integer.parseInt(br.readLine());int t = 1;while((a = br.readLine()) != null) {sovle();}bw.flush();bw.close();}
2、模拟日期的加法
时间复杂度为o(n),比第一个方法稍微快一点,但是这里的n是合法日期的数量。
static int[] month = {0, 31,28,31,30,31,30,31,31,30,31,30,31};static String a, b;static void sovle() throws Exception {b = br.readLine();int s = 0;int l = Integer.parseInt(a), r = Integer.parseInt(b);while(l <= r) {s ++;l = ne(l);}bw.write(s + "\n");}private static int ne(int i) {i = i + 1;int a = i / 10000, b = i / 100 % 100, c = i % 100;if(b == 2 && asd(a)) {if(c > 29) {b = 3;c = 1;}} else {if(c > month[b]) {b ++;c = 1;}}if(b == 13) {a ++;b = 1;}return a * 10000 + b * 100 + c;}private static boolean asd(int a) {return a % 400 == 0 || a % 4 == 0 && a % 100 != 0;}public static void main(String args[]) throws Exception {
// int t = Integer.parseInt(br.readLine());int t = 1;while((a = br.readLine()) != null) {sovle();}bw.flush();bw.close();}
3、枚举整年、整月
时间复杂度是 o(n),这里的n是年份,最高才10000;时间是最快的,基本可以满足所有情况下的使用。
static int[] month = {0, 31,28,31,30,31,30,31,31,30,31,30,31};static String a, b; static void sovle() throws Exception {b = br.readLine();int s = 0;int l = Integer.parseInt(a), r = Integer.parseInt(b);if(l > r) {int a = l;l = r;r = a;}s = get(l, r);bw.write(s + "\n");}private static int get(int l, int r) {int s = 0;int a1 = l / 10000, b1 = l / 100 % 100, c1 = l % 100;int a2 = r / 10000, b2 = r / 100 % 100, c2 = r % 100;for(int i = a1; i < a2; i ++) {if(asd(i)) s += 366;else s += 365;}for(int i = 1; i < b2; i ++) {s += month[i];if(i == 2 && asd(a2)) s ++;}s += c2;for(int i = 1; i < b1; i ++) {s -= month[i];if(i == 2 && asd(a1)) s --;}s -= c1;s += 1;return s;}private static boolean asd(int a) {return a % 400 == 0 || a % 4 == 0 && a % 100 != 0;}public static void main(String args[]) throws Exception {
// int t = Integer.parseInt(br.readLine());int t = 1;while((a = br.readLine()) != null) {sovle();}bw.flush();bw.close();}
相关文章:
日期差值的计算
1、枚举所有数值进行日期判断 时间复杂度是o(n)的,比较慢,单实例能凑合用,多实例的话时间复杂度有点高。 核心代码就是判断某个八位数能否表示一个日期。 static int[] month {0,31,28,31,30,31,30,31,31,30,31,30,31};static String a, b…...
为什么需要Occupancy?
1.能够得到3D的占用信息 在基于BEV (鸟瞰图) 的2D预测模型中,我们通常仅具有二维平面(x和y坐标)上的信息。这种方法对于很多应用场景来说已经足够,但它并不考虑物体在垂直方向(z轴)上的分布。这限制了模型的…...
SSA优化最近邻分类预测(matlab代码)
SSA-最近邻分类预测matlab代码 麻雀搜索算法(Sparrow Search Algorithm, SSA)是一种新型的群智能优化算法,在2020年提出,主要是受麻雀的觅食行为和反捕食行为的启发。 数据为Excel分类数据集数据。 数据集划分为训练集、验证集、测试集,比例为8&#…...
nginx相关内容的安装
nginx的安装 安装依赖 yum install gcc gcc-c automake autoconf libtool make gd gd-devel libxslt-devel -y 安装lua与lua依赖 lua安装步骤如下: mkdir /www mkdir /www/server #选择你自己的目录即可,不需要跟我一致 cd /www/server tar -zxvf lua-5.4.3.tar.gz cd lua-5.4…...
基于SpringBoot和Echarts的全国地震可视化分析实战
目录 前言 一、后台数据服务设计 1、数据库查询 2、模型层对象设计 3、业务层和控制层设计 二、Echarts前端配置 1、地图的展示 2、次数排名统计 三、最终结果展示 1、地图展示 2、图表展示 总结 前言 在之前的博客中基于SpringBoot和PotsGIS的各省地震震发可视化分…...
基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的农作物害虫检测系统(深度学习模型+UI界面+训练数据集)
摘要:开发农作物害虫检测系统对于提高农业生产效率和作物产量具有关键作用。本篇博客详细介绍了如何运用深度学习构建一个农作物害虫检测系统,并提供了完整的实现代码。该系统基于强大的YOLOv8算法,并对比了YOLOv7、YOLOv6、YOLOv5࿰…...
21 # 高级类型:条件类型
条件类型(Conditional Types)是一种高级的类型工具,它允许我们基于一个类型关系来选择另一个类型。条件类型通常使用条件表达式 T extends U ? X : Y 的形式,其中根据泛型类型 T 是否可以赋值给类型 U 来确定最终的类型是 X 还是…...
Java之List.steam().sorted(Comparator.comparing())排序异常解决方案
使用steam().sorted(Comparator.comparing())对List<T>集合里的String类型字段进行倒序排序,发现倒序失效。记录解决方案。 异常代码如下: customerVOList customerVOList.stream().sorted(Comparator.comparing(CustomerVOVO::getCustomerRate).reversed()…...
js判断对象是否有某个属性
前端判断后端接口是否返回某个字段的时候 <script>var obj { name: "John", age: 30 };console.log(obj.hasOwnProperty("name")); // 输出 trueconsole.log(obj.hasOwnProperty("email")); // 输出 falselet obj11 { name: "Joh…...
CleanMyMac X2024永久免费的强大的Mac清理工具
作为产品功能介绍专员,很高兴向您详细介绍CleanMyMac X这款强大的Mac清理工具。CleanMyMac X具有广泛的清理能力,支持多种文件类型的清理,让您的Mac始终保持最佳状态。 系统垃圾 CleanMyMac X能够深入系统内部,智能识别并清理各种…...
等保测评的知识
结合自己所学的知识和网络上的一些知识做个小总结。 目录 一、概念: 二、等级划分: 三、技术要求: 四、管理要求: 五、等保测评实施过程: 六、典型的网络架构: 一、概念: 全称为信息安全等级保…...
【算法】多路归并(鱼塘钓鱼)
有 N 个鱼塘排成一排,每个鱼塘中有一定数量的鱼,例如:N5 时,如下表: 鱼塘编号12345第1分钟能钓到的鱼的数量(1..1000)101420169每钓鱼1分钟钓鱼数的减少量(1..100)24653当前鱼塘到下…...
unity3d Animal Controller的Animal组件中General基础部分理解
控制器介绍 动物脚本负责控制动物的所有运动逻辑.它管理所有的动画师和刚体参数,以及所有的状态和模式,动物可以做。 动物控制器 是一个动画框架控制器,根动或到位,为任何生物或人形。它利用刚体与物理世界的互动和动画师的玩动画。 States States 是不互相重叠的动画。例如…...
css背景从上到下颜色渐变、css背景从左到右颜色渐变、 css框线展示外阴影、css框线展示内阴影
1. css背景从上到下颜色渐变 body {background: linear-gradient(to bottom, #ff0000, #ffff00); /* 这里的#ff0000表示红色,#ffff00表示黄色 */ }2. css背景从左到右颜色渐变 要实现CSS背景从左到右的颜色渐变,可以使用linear-gradient函数。以下是一…...
Nacos学习笔记
Nacos官网 https://github.com/alibaba/nacos/releases https://www.bilibili.com/video/BV1q3411Z79z 1. Nacos介绍 Nacos是Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 在这个…...
微信小程序 nodejs+vue+uninapp学生在线选课作业管理系统
基于微信小程序的班级作业管理助手使用的是MySQL数据库,nodejs语言和IDEA以及微信开发者工具作为开发工具,这些技术和工具我在日常的作业中都经常的使用,并且因为对编程感兴趣,在闲暇时间也进行的进行编程的提高,所以在…...
trpc-go 博客系统
trpc-go 博客系统 使用go语言构建的全栈项目,充分利用了go的简洁性、高性能和并发处理能力。 系统采用了trpc-go框架和北极星进行分布式开发,展示了如何基于腾讯开源技术栈构建微服务架构,实现高效的服务通信和管理。 https://github.com/…...
【JAVA】Servlet开发
目录 HttpServlet HttpServletRequest HttpServletResponse 错误页面 设置网页自动刷新时间 构造重定向相应 js发起http请求 服务器端对js发起的http请求进行处理 前端获取后端数据,添加到当前页面的末尾,代码示例: 前后端交互&…...
k8s helm 删除 tiller
kuberneter 上面装了 helm 想卸载还并不是那么简单, 参考 stackoverflow 回复 kubectl get -n kube-system secrets,sa,clusterrolebinding -o name|grep tiller|xargs kubectl -n kube-system delete kubectl get all -n kube-system -l apphelm -o name|xargs kubectl dele…...
Python入门(小白友好)
知识图谱 搭建环境 安装Python:Download Python | Python.org 安装PyCharm:Download PyCharm: The Python IDE for data science and web development by JetBrains 注意:专业版本是收费的,新手小白使用社区版(community)即可 创建第一个项目: 一些PyCharm的设置(也适用…...
两个世界的同一种崩溃:从窗口黑屏到宇宙热寂的同构联想
一、两个世界的同一种崩溃 一段着色器代码中 cell.xy 的缩放因子从 9 被修改为 99。着色器随即呈现完全黑屏——既无报错信息,也无渲染异常,只有纯粹、彻底、连噪点都不存在的黑色。在屏幕的某个抽象维度上,发生了一件与理论物理学家在黑板上…...
CSS Grid布局深入解析:掌握现代布局技术
CSS Grid布局深入解析:掌握现代布局技术 引言 CSS Grid布局是CSS3引入的强大布局系统,它提供了一种二维网格布局方式,可以轻松实现复杂的页面布局。本文将深入探讨Grid布局的核心概念、高级技巧和最佳实践。 一、Grid布局基础 1.1 Grid容器与…...
Kubernetes DaemonSet深度解析:管理集群守护进程的最佳实践
Kubernetes DaemonSet深度解析:管理集群守护进程的最佳实践 一、DaemonSet概述 DaemonSet 是Kubernetes中用于在集群的每个节点上运行一个Pod副本的控制器。它确保所有节点(或满足特定条件的节点)都运行该Pod的一个实例。 1.1 DaemonSet应…...
实际开发中 SQL 与产品的耦合与互动实践
引言 在产品开发初期,数据库 Schema(表结构)的设计是一个绕不开的核心问题。很多开发者,尤其是新手,常常会陷入一个两难境地:“Schema 需要一开始就完全确定好吗?如果后期要改动怎么办?到底要设计多少个表(Schema 数量)才算合适?” 这些问题背后,反映的是对软件工…...
Topit:macOS窗口置顶的终极方案,提升多任务效率300%的必备工具
Topit:macOS窗口置顶的终极方案,提升多任务效率300%的必备工具 【免费下载链接】Topit Pin any window to the top of your screen / 在Mac上将你的任何窗口强制置顶 项目地址: https://gitcode.com/gh_mirrors/to/Topit 在macOS上工作时…...
熬过漫漫长夜,终见微光入怀
民宿刘姐我扎根浙东深山,经营一方山间小院,至今已是六个春秋。回望这六七年来的创业之路,那些彻夜难眠的深夜、压垮身心的重担、前路迷茫的无助与煎熬,依旧刻骨铭心,仿佛一切就发生在昨日。最初怀揣对山野生活的赤诚与…...
AI-HF_Patch终极指南:3步解锁AI-Shoujo完整游戏体验的秘诀
AI-HF_Patch终极指南:3步解锁AI-Shoujo完整游戏体验的秘诀 【免费下载链接】AI-HF_Patch Automatically translate, uncensor and update AI-Shoujo! 项目地址: https://gitcode.com/gh_mirrors/ai/AI-HF_Patch 还在为AI-Shoujo游戏的语言障碍、模组冲突和功…...
终极FileBrowser上手指南:10分钟掌握Web文件管理神器
终极FileBrowser上手指南:10分钟掌握Web文件管理神器 【免费下载链接】filebrowser 📂 Web File Browser 项目地址: https://gitcode.com/gh_mirrors/fi/filebrowser FileBrowser是一个功能强大的Web文件管理器,让你能够通过浏览器界面…...
树莓派Linux命令行实战指南:从基础操作到系统运维
1. 项目概述:为什么你需要一份树莓派命令手册如果你刚拿到一块树莓派,兴奋地接上电源和显示器,看着熟悉的桌面系统,感觉和一台迷你电脑没什么两样。但当你真正想用它做点“正经事”——比如让它24小时运行一个网站、自动备份文件到…...
Agent驱动的机器学习 pipeline 全链路拆解,深度解析LLM+ML协同训练的4大范式演进
更多请点击: https://codechina.net 第一章:Agent驱动的机器学习 pipeline 全链路拆解,深度解析LLMML协同训练的4大范式演进 Agent驱动的机器学习 pipeline 正在重构传统ML工程范式——它不再将数据预处理、特征工程、模型训练与部署割裂为静…...
