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

日期差值的计算

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)的&#xff0c;比较慢&#xff0c;单实例能凑合用&#xff0c;多实例的话时间复杂度有点高。 核心代码就是判断某个八位数能否表示一个日期。 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预测模型中&#xff0c;我们通常仅具有二维平面&#xff08;x和y坐标&#xff09;上的信息。这种方法对于很多应用场景来说已经足够&#xff0c;但它并不考虑物体在垂直方向&#xff08;z轴&#xff09;上的分布。这限制了模型的…...

SSA优化最近邻分类预测(matlab代码)

SSA-最近邻分类预测matlab代码 麻雀搜索算法(Sparrow Search Algorithm, SSA)是一种新型的群智能优化算法&#xff0c;在2020年提出&#xff0c;主要是受麻雀的觅食行为和反捕食行为的启发。 数据为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界面+训练数据集)

摘要&#xff1a;开发农作物害虫检测系统对于提高农业生产效率和作物产量具有关键作用。本篇博客详细介绍了如何运用深度学习构建一个农作物害虫检测系统&#xff0c;并提供了完整的实现代码。该系统基于强大的YOLOv8算法&#xff0c;并对比了YOLOv7、YOLOv6、YOLOv5&#xff0…...

21 # 高级类型:条件类型

条件类型&#xff08;Conditional Types&#xff09;是一种高级的类型工具&#xff0c;它允许我们基于一个类型关系来选择另一个类型。条件类型通常使用条件表达式 T extends U ? X : Y 的形式&#xff0c;其中根据泛型类型 T 是否可以赋值给类型 U 来确定最终的类型是 X 还是…...

Java之List.steam().sorted(Comparator.comparing())排序异常解决方案

使用steam().sorted(Comparator.comparing())对List<T>集合里的String类型字段进行倒序排序&#xff0c;发现倒序失效。记录解决方案。 异常代码如下: 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清理工具

作为产品功能介绍专员&#xff0c;很高兴向您详细介绍CleanMyMac X这款强大的Mac清理工具。CleanMyMac X具有广泛的清理能力&#xff0c;支持多种文件类型的清理&#xff0c;让您的Mac始终保持最佳状态。 系统垃圾 CleanMyMac X能够深入系统内部&#xff0c;智能识别并清理各种…...

等保测评的知识

结合自己所学的知识和网络上的一些知识做个小总结。 目录 一、概念&#xff1a; 二、等级划分&#xff1a; 三、技术要求&#xff1a; 四、管理要求&#xff1a; 五、等保测评实施过程&#xff1a; 六、典型的网络架构&#xff1a; 一、概念&#xff1a; 全称为信息安全等级保…...

【算法】多路归并(鱼塘钓鱼)

有 N 个鱼塘排成一排&#xff0c;每个鱼塘中有一定数量的鱼&#xff0c;例如&#xff1a;N5 时&#xff0c;如下表&#xff1a; 鱼塘编号12345第1分钟能钓到的鱼的数量&#xff08;1..1000&#xff09;101420169每钓鱼1分钟钓鱼数的减少量&#xff08;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表示红色&#xff0c;#ffff00表示黄色 */ }2. css背景从左到右颜色渐变 要实现CSS背景从左到右的颜色渐变&#xff0c;可以使用linear-gradient函数。以下是一…...

Nacos学习笔记

Nacos官网 https://github.com/alibaba/nacos/releases https://www.bilibili.com/video/BV1q3411Z79z 1. Nacos介绍 Nacos是Dynamic Naming and Configuration Service的首字母简称&#xff0c;一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 在这个…...

微信小程序 nodejs+vue+uninapp学生在线选课作业管理系统

基于微信小程序的班级作业管理助手使用的是MySQL数据库&#xff0c;nodejs语言和IDEA以及微信开发者工具作为开发工具&#xff0c;这些技术和工具我在日常的作业中都经常的使用&#xff0c;并且因为对编程感兴趣&#xff0c;在闲暇时间也进行的进行编程的提高&#xff0c;所以在…...

trpc-go 博客系统

trpc-go 博客系统 使用go语言构建的全栈项目&#xff0c;充分利用了go的简洁性、高性能和并发处理能力。 系统采用了trpc-go框架和北极星进行分布式开发&#xff0c;展示了如何基于腾讯开源技术栈构建微服务架构&#xff0c;实现高效的服务通信和管理。 https://github.com/…...

【JAVA】Servlet开发

目录 HttpServlet HttpServletRequest HttpServletResponse 错误页面 设置网页自动刷新时间 构造重定向相应 js发起http请求 服务器端对js发起的http请求进行处理 前端获取后端数据&#xff0c;添加到当前页面的末尾&#xff0c;代码示例&#xff1a; 前后端交互&…...

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的设置(也适用…...

Intv_AI_MK11嵌入式开发实战:在WSL2中部署AI模型并集成Keil5

Intv_AI_MK11嵌入式开发实战&#xff1a;在WSL2中部署AI模型并集成Keil5 1. 为什么选择WSL2进行嵌入式AI开发 对于嵌入式开发者来说&#xff0c;传统AI模型开发面临一个典型困境&#xff1a;训练环境通常基于Linux系统&#xff0c;而嵌入式开发工具链&#xff08;如Keil MDK&…...

Wan2.2-I2V-A14B企业应用:法律文书解读AI动画视频生成系统

Wan2.2-I2V-A14B企业应用&#xff1a;法律文书解读AI动画视频生成系统 1. 系统概述与核心价值 法律行业每天需要处理大量文书材料&#xff0c;传统的人工解读和可视化呈现方式效率低下且成本高昂。Wan2.2-I2V-A14B法律文书解读AI动画视频生成系统正是为解决这一痛点而生。 这…...

Stable Diffusion 2.0超分实战:4倍放大图片还能保持清晰度的秘密

Stable Diffusion 2.0超分实战&#xff1a;4倍放大图片还能保持清晰度的秘密 在数字图像处理领域&#xff0c;超分辨率技术一直是设计师和开发者关注的焦点。传统放大方法往往导致图像模糊、细节丢失&#xff0c;而基于深度学习的超分方案正在改变这一局面。Stable Diffusion 2…...

告别插件!保姆级教程:用Nginx反向代理搞定海康威视Web无插件视频预览

海康威视Web无插件视频预览的Nginx反向代理实战指南 引言 在现代安防监控系统集成中&#xff0c;海康威视设备因其稳定性和广泛兼容性成为行业首选。然而&#xff0c;传统Web集成方案往往依赖浏览器插件&#xff0c;这不仅增加了部署复杂度&#xff0c;也带来了安全风险。随着H…...

从单片机思维到FPGA思维:我用Xilinx Ego1做循迹小车踩过的那些‘坑’

从单片机思维到FPGA思维&#xff1a;Xilinx Ego1循迹小车开发实战避坑指南 第一次用FPGA做循迹小车时&#xff0c;我盯着Vivado里密密麻麻的时序报告发呆了半小时——这和我熟悉的单片机开发完全是两个世界。作为有三年STM32开发经验的工程师&#xff0c;本以为凭借Verilog语法…...

企微API集成指南——从回调到主动发送,全流程代码解析

企业微信提供了丰富的API&#xff0c;用于接收用户添加事件、发送消息、管理标签等。今天从实战角度&#xff0c;给出API集成的最佳实践&#xff0c;附带伪代码。一、核心API清单API用途频率限制获取access_token调用其他API的前提2000次/分钟添加外部联系人通过好友每个号300人…...

无需本地安装,用快马平台5分钟搭建git操作可视化原型

最近在准备一个Git入门教学项目时&#xff0c;发现很多新手卡在环境配置这一步。传统方式需要先安装Git客户端、配置SSH密钥、设置全局参数&#xff0c;光是这些前置操作就能劝退不少人。于是尝试用InsCode(快马)平台的云端开发环境&#xff0c;意外发现能跳过所有安装步骤直接…...

【技术干货】把 Claude 变成“本地自动化工程师”:Anthropic Computer Use 能力与实战落地指南

摘要 Anthropic 在 Claude Code 中正式引入 Computer Use 能力&#xff0c;让大模型可以直接操作你的桌面应用和浏览器&#xff0c;从“写代码助手”升级为“全栈自动化代理”。本文从原理、典型场景、跨平台替代方案&#xff0c;到如何用统一 OpenAI 兼容 API&#xff08;基于…...

如何快速掌握MelonLoader:从零基础到精通Unity游戏模组加载的完整教程

如何快速掌握MelonLoader&#xff1a;从零基础到精通Unity游戏模组加载的完整教程 【免费下载链接】MelonLoader The Worlds First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono 项目地址: https://gitcode.com/gh_mirrors/me/MelonLoader …...

有线/无线(空口)抓包过程及其分析

一、如何判断该抓有线包&#xff0c;还是无线包层级问题类型抓包位置L1/L2&#xff08;无线&#xff09;连不上、掉线、弱信号无线抓包L2&#xff08;有线&#xff09;VLAN错误有线抓包L3&#xff08;IP&#xff09;DHCP失败有线抓包L4&#xff08;传输&#xff09;丢包、重传有…...