算法每日一题 | 入门-顺序结构-上学迟到
上学迟到
题目描述
学校和 yyy 的家之间的距离为 s 米,而 yyy 以 v 米每分钟的速度匀速走向学校。
在上学的路上,yyy 还要额外花费 10 分钟的时间进行垃圾分类。
学校要求必须在上午 8:00 到达,请计算在不迟到的前提下,yyy 最晚能什么时候出门。
由于路途遥远,yyy 可能不得不提前一点出发,但是提前的时间不会超过一天。
输入格式
一行两个正整数 ,分别代表路程和速度。
输出格式
输出一个 24 小时制下的时间,代表 yyy 最晚的出发时间。
输出格式为 HH:MM,分别代表该时间的时和分。必须输出两位,不足前面补 0。
输入输出样例 #1
输入 #1
100 99
输出 #1
07:48
说明/提示
对于 100 % 100\% 100% 的数据,KaTeX parse error: Expected 'EOF', got '&' at position 2: 1&̲le;s,v≤10^4。
C
先计算出从家走到学校所需要的时间长度,再加上垃圾分类所花费的时间,得到上学前需要的总时间。
然后从8:00开始一分钟一分钟地向前模拟,直到时间为0,这样就得到了最晚出发的时间点。
需要注意的是,这道题有很多坑:
当家到学校的路程不能被速度整除时,要提前一分钟,不然就会迟到;
需要的时间可能会很长,可能会需要提前一天出发;
时间是24小时制的;
有十分钟垃圾分类的时间,不要忘了;
输出的小时和分钟要输出两位,不足10的时候要补0。 代码如下:
#include <cstdio>
int main()
{int S;//家到学校的距离 int V;//行走的速度 scanf("%d%d",&S,&V);int t;if(S%V==0)//因为后面是从07:59开始的,所以这里的时间少一分钟 {t=S/V;t+=9;//垃圾分类的时间 }else{t=S/V;//时间如果不能被速度整除,就要提前一分钟出发 t+=10;//垃圾分类的时间 }int H;//保存出发的小时,分钟 int M;H=7;M=59;while(t!=0) {if(M!=0){M--;}else{if(H!=0){H--;M=59;}else{H=23;M=59;}}t--;}int h1,h2;//分开保存小时,分钟的十位,个位 int m1,m2;h1=H/10;h2=H-(10*(H/10)); m1=M/10;m2=M-(10*(M/10)); printf("%d%d:%d%d",h1,h2,m1,m2);
}
C++
题目上给出路程与速度,即可算出时间。
由于s与v中的时间单位为分,所以我们直接将8小时换算成分钟(直接8∗60好了)。
由于时间可能大于1天,我们在求出来的分钟数中加上24∗60。
当我们把该时间减去行走时间和垃圾分类后,判断剩下的时间是否大于一天,如果大于一天就减去一天的时间,但你必须向上取整,不然行走时间就会少。
将剩下的时间除以60得到出发时。将剩下的时间对60取余得出发分。
上代码:
#include<bits/stdc++.h>
usingnamespacestd;
double s,v,m;
int n,a,t,b;
int main()
{cin>>s>>v;n=8*60+24*60;//两天总共的分钟数t=ceil(s/v)+10;//ceil()很重要,向上取整,否则按C++逻辑会向下取整导致行走时间少。n=n-t;//得出剩下的时间。if(n>=24*60) n-=24*60;判断是否在前一天。b=n%60;//得出出发分。a=n/60;//得出出发时if(a<10)//慢慢判断是否补0{if(b<10) cout<<"0"<<a<<":0"<<b;elsecout<<"0"<<a<<":"<<b;}else{if(b<10) cout<<a<<":0"<<b;elsecout<<a<<":"<<b;}return0;
}
Python
输入读取:借助 input().split()
读取一行输入并按空格分割成两个字符串,再使用 map(int, ...)
把它们转换为整数 s 和 v。
计算总时间:先算出上学路上行走所需的时间,若路程不能被速度整除,需要向上取整,再加上垃圾分类的 10 分钟。
计算最晚出发时间:把 8:00 转换为分钟数,用这个时间减去总时间,得到最晚出发时间的分钟数。若结果为负数,意味着需要提前一天出发,要加上 24 小时(即 24 * 60 分钟)。
格式化输出:将最晚出发时间的分钟数转换为小时和分钟,使用 f-string
格式化输出,保证小时和分钟都是两位,不足两位时前面补 0。
# 读取输入的路程 s 和速度 v
s, v = map(int, input().split())
# 计算上学路上花费的时间(分钟),考虑垃圾分类的 10 分钟
total_time = s // v if s % v == 0else s // v + 1
total_time += 10
# 学校要求 8:00 到达,将 8:00 转换为分钟数
arrival_time = 8 * 60
# 计算最晚出发时间的分钟数
departure_time = arrival_time - total_time
# 处理可能出现的负数时间(提前一天出发)
if departure_time < 0:departure_time += 24 * 60
# 计算小时和分钟
hours = departure_time // 60
minutes = departure_time % 60
# 格式化输出,不足两位前面补 0
print(f"{hours:02d}:{minutes:02d}")
Java
首先我们要知道,用于操控时间的除了最常用的 Date
类,还有
方便日期运算的 Calendar
类, 拥有许多国家标准时间的 GregorianCalendar
类( Calendar
子类)。 这么一看,这道题使用起来比较方便的就是 Calendar
类。
Calendar
类中用一下这些常量表示不同的意义,jdk
内的很多类其实都是采用的这种思想。
Calendar.YEAR
——年份 。
Calendar.MONTH
——月份 。
·Calendar.DATE· ——日期 。
Calendar.DAY_OF_MONTH
——日期,和上面的字段意义相同 。
Calendar.HOUR
——12小时制的小时 。
Calendar.HOUR_OF_DAY
——24小时制的小时 。
Calendar.MINUTE
——分钟 。
Calendar.SECOND
——秒 。
Calendar.DAY_OF_WEEK
——星期几。
用用于操作时间:
Calendar c1 = Calendar.getInstance();
c1.add(Calendar.DATE, 10);
c1.add(Calendar.DATE, -10); //把c1对象的日期加上-10,也就是c1所表的日期的10天前的日期,其它所有的数值会被重新计算。
其他字段属性的add
的意义以此类推。
这样一来,其他题解中说的那些坑也就减少了很多。比如说就不用考虑天数的问题了,Java
自己帮你处理了。
还是以往的套路,相对于其他语言来说稍微麻烦一点点的,使用 Scanner
的对象进行输入。使用 Scanner
类时需要
Scanner scanner = new Scanner(System.in);
int s = scanner.nextInt(); //路程。
int y = scanner.nextInt(); //速度。
之后再用 Calendar类 实例进行实践操作。
Calendar date = Calendar.getInstance(); //创造 Calendar 类实例。
date.set(2021, Calendar.MAY, 5, 8, 0, 0); //设置时间(不设置默认为计算机当前时间。)
上面那一句对应 Calendar
类中函数 。
public final void set(int year, int month, int date, int hourOfDay, int minute,int second)
date.add(Calendar.MINUTE, s % y == 0 ? -(s / y) : -(s / y) - 1); // 使用三目运算符。因为如果路程不能整除速度的话需要再使用一分钟填满。
之后再使用 SimpleDateFormat
进行时间格式化再输出。
yyyy:年。 MM:月。 dd:日 。 hh:1~12 小时制 (1-12)。 HH:24 小时制 (0-23)。 mm:分。 ss:秒。 S:毫秒。 E:星期几。 D:一年中的第几天。 F:一月中的第几个星期(会把这个月总共过的天数除以 7)。 w:一年中的第几个星期。 W:一月中的第几星期(会根据实际情况来算)。 a:上下午标识。 k:和HH差不多,表示一天 24 小时制 (1-24)。 K:和hh差不多,表示一天 12 小时制 (0-11)。 z:表示时区。 这里只需要输出 小时:分钟,所以格式化的格式为:HH:mm
SimpleDateFormat format = new SimpleDateFormat("HH:mm"); //创造格式化 HH:mm 的 SimpleDateFormat 对象。
最后在输出的时候要将 Calendar
类转换为长整型输出,否则会报错。
而日期类都可以转换成长整型( long
)格式,所以:
System.out.println(format.format(date.getTime())); // getTime()获得长整形时间
完整代码:
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Scanner;publicclass Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int s = scanner.nextInt();int y = scanner.nextInt();Calendar date = Calendar.getInstance();date.set(2021, Calendar.MAY, 5, 8, 0, 0);date.add(Calendar.MINUTE, -10);date.add(Calendar.MINUTE, s % y == 0 ? -(s / y) : -(s / y) - 1);SimpleDateFormat format = new SimpleDateFormat("HH:mm");System.out.println(format.format(date.getTime()));}
}
梦想可以大,第一步总是小的!
相关文章:
算法每日一题 | 入门-顺序结构-上学迟到
上学迟到 题目描述 学校和 yyy 的家之间的距离为 s 米,而 yyy 以 v 米每分钟的速度匀速走向学校。 在上学的路上,yyy 还要额外花费 10 分钟的时间进行垃圾分类。 学校要求必须在上午 8:00 到达,请计算在不迟到的前提下,yyy 最…...
开源库测试
yolov10 https://github.com/THU-MIG/yolov10 conda create -n yolov10 python3.9 conda activate yolov10 pip install -r requirements.txt pip install -e .报错 找不到对应版本 Could not find a version that satisfies the requirement gradio4.31.5 (from versions:…...
因为gromacs必须安装cuda(系统自带的NVIDIA驱动不行),这里介绍下如何安装cuda
1. 安装步骤 查看是否安装了cuda # 法1 cat /usr/local/cuda/version.txt # 法2 nvcc --version 若没有安装,则查看是否有N卡驱动,若无N卡驱动,则到软件与更新 -> 附加驱动中安装驱动 查看N卡驱动支持的cuda版本 nvidia-smi 如下…...
ABC 404
1.C 题: 1.思路: NM&每个点读数为2,但图中有可能出现多环,需要判断所有点是否都在同一连通块上,有俩种解法:搜索,循环 2.代码(循环做法) #include<bits/stdc.h&g…...
机器学习朴素贝叶斯算法
1.朴素贝叶斯算法 1.1基本概念 其分类原理是利用贝叶斯公式根据某特征的先验概率计算出其后验概率,然后选择具有最大后验概率作为该特征所属的类。之所以称之为“朴素”,是因为贝叶斯分类只做最原始、最简单的假设:所有的特征之间是相对独立…...
Linux:深入理解数据链路层
实际上一台主机中,报文并没有通过网络层直接发送出去,而是交给了自己的下一层协议——数据链路层!! 一、理解数据链路层 网络层交付给链路层之前,会先做决策再行动(会先查一下路由表,看看目标网…...
健康养生:从生活点滴启航
养生并非遥不可及的高深学问,只需把握生活中的细微之处,就能为健康保驾护航。 清晨睁眼,先在床上做简单的搓脸动作,从下巴到额头轻柔按摩,促进面部血液循环,唤醒肌肤活力。随后空腹喝一杯温水,可…...
【向量数据库】用披萨点餐解释向量数据库:一个美味的技术类比
文章目录 前言场景设定:披萨特征向量化顾客到来:生成查询向量相似度计算实战1. 欧氏距离计算(值越小越相似)2. 余弦相似度计算(值越大越相似) 关键发现:度量选择影响结果现实启示结语 前言 想象…...
CloudCompare 中 ccDrawableObject
CloudCompare 中 ccDrawableObject 类的主要内容与使用 1. ccDrawableObject 概述 在 CloudCompare 中,ccDrawableObject 是一个基类,主要用于管理 3D 可绘制对象 的显示属性,如颜色、可见性、LOD(层次细节)、光照等…...
【Linux】进程控制
🌟🌟作者主页:ephemerals__ 🌟🌟所属专栏:Linux 目录 前言 一、什么是进程控制 二、进程创建 三、进程终止(进程退出) 退出码 main函数返回 _exit() exit() 测试 四、进…...
设计模式-基础概念学习总结(继承、多态、虚方法、方法重写)
概念使用例子的方式介绍(继承,多态,虚方法,方法重写),实现代码python 1. 继承(Inheritance) 概念:子类继承父类的属性和方法,可以直接复用父类的代码&#…...
分析rand()和srand()函数的功能
rand()和srand()函数原型: int rand(void) 返回一个范围在 0 到 RAND_MAX 之间的伪随机数。 void srand(unsigned int seed)用来给rand() 设置随机数发生器,随机数发生器输出不同的数值,rand() 就会生成不同的随机数 1)、在“D:\Keil_v5\AR…...
架构师如何构建个人IP:职业规划与业务战略的双重提升
在数字化时代,软件架构师的角色已从单纯的技术专家转变为兼具技术领导力和业务影响力的复合型人才。如何构建个人IP,提升行业影响力,成为架构师职业发展的关键课题。本文从个人认知、业务战略、架构决策、产品思维四个维度,探讨架…...
CSS知识总结
一、CSS核心概念解析 1.1 选择器体系(重点) 基础选择器: /* ID选择器 */ #header { background: #333; }/* 类选择器 */ .btn-primary { color: white; }/* 属性选择器 */ input[type"text"] { border: 1px solid #ccc; } 组合…...
CRS 16 slot 设备硬件架构
目录 1. 核心组件 1.1 线路卡与物理接口模块 1.2 交换结构与容量 1.3 控制与管理 1.4 风扇与散热 1.5 电源与告警 2. 插槽编号与机箱布局 2.1 前侧(PLIM 面) 2.2 后侧(MSC 面) 2.3 插槽配对 1. 核心组件 1.1 线路卡与物…...
人工智能浪潮中Python的核心作用与重要地位
在人工智能(Artificial Intelligence,AI)蓬勃发展的时代,Python已然成为推动这一技术进步的关键编程语言。从复杂的机器学习算法实现,到前沿的深度学习模型构建,再到智能系统的部署,Python无处不…...
【了解】数字孪生网络(Digital Twin Network,DTN)
目录 一、为什么?二、是什么?三、什么架构?四、如何应用?参考 一、为什么? 一方面,网络负载不断增加,,网络规模持续扩大带来的网络复杂性,使得网络的运行和维护变得越来越复杂。另一…...
[C语言]第一章-初识
目录 一.引言 二.MinGW 下载与安装 1.什么是 MinGW 2.下载 MinGW 3.安装 MinGW 4.配置 MinGW 环境变量 三.VS Code 下载与安装 1.什么是 VS Code 2.下载 VS Code 3.安装 VS Code 4.汉化 5.安装扩展插件 C/C 截图 四.编写并运行 Hello World 程序 代码解释 运行…...
如何用git将项目上传到github
步骤 1.创建仓库 2.记下仓库的url 3.在本地初始化仓库 路径要在项目下 cd /path/to/your/vue-project git init 4.创建touch .gitignore文件 在项目根目录下创建 .gitignore 文件,用于指定 Git 忽略哪些文件或文件夹 5.添加和提交项目文件 将文件提交到版本控…...
C++入门(上)--《Hello C++ World!》(1)(C/C++)
文章目录 前言命名空间域命名空间的用法 C的输入和输出缺省参数函数重载auto关键字(C11)范围for 前言 C不是C# C兼容大部分C的东西,但不是完全(98%的样子,除非遇到了不兼容的,那就记一下,不然就认为自己在C里面写的那些可以写到C里…...
架构思维:构建高并发读服务_基于流量回放实现读服务的自动化测试回归方案
文章目录 引言一、升级读服务架构,为什么需要自动化测试?二、自动化回归测试系统:整体架构概览三、日志收集1. 拦截方式2. 存储与优化策略3. 架构进化 四、数据回放技术实现关键能力 五、差异对比对比方式灵活配置 六、三种回放模式详解1. 离…...
代码随想录第33天:动态规划6(完全背包基础)
一、完全平方数(Leetcode 279) 本题与“零钱兑换”基本一致。 1.确定dp数组以及下标的含义 dp[j]:和为j的完全平方数的最少数量为dp[j] 2.确定递推公式 dp[j] 可以由dp[j - i * i]推出, dp[j - i * i] 1 便可以凑成dp[j]。 …...
Android控件View、ImageView、WebView用法
一 控件清单 View、ImageView、WebView 二 控件UI代码 <?xml version="1.0" encoding="utf-8"?> <androidx.coordinatorlayout.widget.CoordinatorLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:app=&qu…...
关于浏览器页面自动化操作
Selenium 是一个用于自动化浏览器操作的强大框架,广泛应用于Web应用程序的测试自动化。它主要由以下几个核心组件组成: Selenium WebDriver: WebDriver 是 Selenium 的核心组件,它提供了一组API,允许开发者编写程序来…...
P5739 计算阶乘详解
此题目,对于会递归的很简单很简单,但作者是野人不会,只能是边刷边学,且题解比较有意思,所有我这次的重心不是题目,而是题解里面创作者展示的不一样的东西,先看题目 题目要求不用for循环…...
把Android设备变成“国标摄像头”:GB28181移动终端实战接入指南
把Android设备变成“国标摄像头”:GB28181移动终端实战接入指南 ——执法记录仪、巡检终端、布控球,如何通过大牛直播SDK直接挂到GB28181平台? 在过去,GB28181 通常用于固定摄像头、NVR等“设备端”。但在政务、安防、应急等行业…...
机器学习项目流程极简入门:从数据到部署的完整指南
前言 本文将通过一个简单案例(根据水果外观特征判断是否为橘子),逐步拆解机器学习项目的完整流程,帮助读者掌握从数据收集到模型部署的全流程方法论。 通常,一个完整的机器学习项目可以分为以下几个步骤: …...
PrivKV: Key-Value Data Collection with Local Differential Privacy论文阅读
文献阅读课需要制作ppt但是感觉选的这篇论文都是公式,决定做点动画直观展示一下。还没有完成会继续更新这个笔记 manim动画代码 需要下载ffmpeg下载latex https://docs.manim.org.cn/getting_started/installation.html ffmpeg下载教程 texlive官网 但是其实不需要…...
RViz(机器人可视化工具)的配置文件(moveitcpp)
1. Panels(面板设置) 面板是RViz界面中的各个功能区域,用于显示和操作不同的数据。 Displays(显示面板) Class: rviz_common/Displays 指定面板的类型,这里是显示面板。 Help Height: 78 帮助区域的高度…...
kotlin 01flow-StateFlow 完整教程
一 Android StateFlow 完整教程:从入门到实战 StateFlow 是 Kotlin 协程库中用于状态管理的响应式流,特别适合在 Android 应用开发中管理 UI 状态。本教程将带全面了解 StateFlow 的使用方法。 1. StateFlow 基础概念 1.1 什么是 StateFlow? StateF…...
OpenGl实战笔记(1)基于qt5.15.2+mingw64+opengl绘制三角形
一、实现效果 二、实现原理 (1)各函数作用与原理 initialize() 作用: 初始化 OpenGL 函数(initializeOpenGLFunctions()) 设置背景清除颜色为 rgba(0.2, 0.3, 0.4, 1.0)。 原理: initializeOpenGLFunctio…...
S100平台调试RS485/RS232
提供一个C语言的测试程序Demo #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h>...
蓝桥杯 19. 植树
植树 题目描述 小明和朋友们一起去郊外植树,他们带了一些在实验室中精心研究出的小树苗。 一共有 n 个人,每个人挑选了一个适合植树的位置,一共 n 个位置。每人准备在自己的位置种下一棵树苗。 但他们遇到一个问题:有的树苗比…...
Spring Boot 中 @Bean 注解详解:从入门到实践
在 Spring Boot 开发中,Bean注解是一个非常重要且常用的注解,它能够帮助开发者轻松地将 Java 对象纳入 Spring 容器的管理之下,实现对象的依赖注入和生命周期管理。对于新手来说,理解并掌握Bean注解,是深入学习 Spring…...
git项目迁移,包括所有的提交记录和分支 gitlab迁移到gitblit
之前git都是全新项目上传,没有迁移过,因为迁移的话要考虑已有项目上的分支都要迁移过去,提交记录能迁移就好;分支如果按照全新项目上传的方式需要新git手动创建好老git已有分支,在手动一个一个克隆老项目分支代码依次提…...
前端面试每日三题 - Day 25
这是我为准备前端/全栈开发工程师面试整理的第25天每日三题练习,涵盖了: CSS中如何实现一个保持宽高比的自适应正方形元素Angular的变更检测(Change Detection)机制项目实战 - 设计一个微前端架构的前端应用。 ✅ 题目1ÿ…...
基于windows安装MySQL8.0.40
基于windows安装MySQL8.0.40 基于windows 安装 MySQL8.0.40,解压文件到D:\mysql-8.0.40-winx64 在D:\mysql-8.0.40-winx64目录下创建my.ini文件,并更新一下内容 [client] #客户端设置,即客户端默认的连接参数 # 设置mysql客户端连接服务…...
基于机器学习算法预测二手车市场数据清洗与分析平台(源码+定制+讲解) 基于Python的数据挖掘与可视化 二手车数据处理与分析系统开发 (机器学习算法预测)
博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…...
【神经网络与深度学习】普通自编码器和变分自编码器的区别
引言 自编码器(Autoencoder,AE)和变分自编码器(Variational Autoencoder,VAE)是深度学习中广泛应用的两类神经网络结构,主要用于数据的压缩、重构和生成。然而,二者在模型设计、训练…...
【现代深度学习技术】现代循环神经网络07:序列到序列学习(seq2seq)
【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈PyTorch深度学习 ⌋ ⌋ ⌋ 深度学习 (DL, Deep Learning) 特指基于深层神经网络模型和方法的机器学习。它是在统计机器学习、人工神经网络等算法模型基础上,结合当代大数据和大算力的发展而发展出来的。深度学习最重…...
【Linux我做主】进度条小程序深度解析
Linux下C语言进度条程序深度解析 进度条小程序GitHub地址 前言前置知识回车换行(CR/LF)的深度解析历史渊源与技术规范在进度条/倒计时中的应用 缓冲区机制的全面剖析缓冲区引入缓冲类型对比进度条开发中的关键控制 进度条实现以小见大——倒计时倒计时最…...
Vue项目安全实践指南:从输入验证到状态管理的全方位防护
一、项目背景 在Vue2项目开发过程中,我们遇到了一些需要优化的安全实践问题。本文将分享我们在项目中的一些安全优化经验,希望能帮助到其他开发者。 主要优化点: 输入输出安全处理请求安全防护数据存储安全路由访问控制文件上传处理表单数…...
Pinocchio导入URDF关节为continuous的问题及详细解释
视频讲解: Pinocchio导入URDF关节为continuous的问题及详细解释 仓库地址:GitHub - LitchiCheng/mujoco-learning 问题背景:打算测试将之前的panda的urdf换成so-arm100的urdf,发现pinocchio的代码不能用,很奇怪&#…...
《Python星球日记》第30天:Flask数据库集成
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏:《Python星球日记》,限时特价订阅中ing 目录 一、数据库…...
GAF-CNN-SSA-LSSVM故障诊断/分类预测,附带模型研究报告(Matlab)
GAF-CNN-SSA-LSSVM故障诊断/分类预测,附带模型研究报告(Matlab) 目录 GAF-CNN-SSA-LSSVM故障诊断/分类预测,附带模型研究报告(Matlab)效果一览基本描述程序设计参考资料 效果一览 基本描述 本研究提出的GA…...
轻松养生:让健康融入生活
养生不是负担,而是可以轻松融入日常的生活方式。掌握以下要点,就能开启健康之旅。 清晨醒来,先喝一杯常温水,唤醒沉睡的肠胃。早餐选择富含膳食纤维的燕麦片搭配新鲜水果,补充能量又促进消化。午餐和晚餐做到荤素搭配&…...
工业主义与民主的兴衰:历史逻辑与未来危机
一、工业主义催生大众民主的机制 经济基础变革 非技术工人崛起:工业革命后,机器生产替代传统手工业,非熟练工人(包括妇女、儿童)收入提升,财富分配趋于平等,形成新兴中产阶级。 政府财政能力增…...
从代码学习深度学习 - 目标检测前置知识(二) PyTorch版
文章目录 前言一、多尺度目标检测1.1 多尺度锚框1.2 绘图工具函数 (`utils_for_huitu.py`)1.3 可视化多尺度锚框1.4 多尺度检测(理论)二、自定义目标检测数据集2.1 读取数据2.2 创建 Dataset 类2.3 创建 DataLoader2.4 验证数据加载2.5 可视化数据集样本总结前言 大家好!欢…...
什么是“系统调用”
一、什么是“系统调用”?用生活中的比喻理解 可以把“系统调用”比作你(用户)向“管理员”请求帮助完成某件事情的过程。 举个例子: 你想借书,去图书馆(操作系统)找管理员(内核&a…...
代码异味(Code Smell)识别与重构指南
1、引言:什么是“代码异味”? 在软件开发中,“代码异味(Code Smell)”是指那些虽然不会导致程序编译失败或运行错误,但暗示着潜在设计缺陷或可维护性问题的代码结构。它们是代码演进过程中的“信号灯”,提示我们某段代码可能需要优化。 1.1 ✅ 为什么关注代码异味? 预…...