- 博客(147)
- 收藏
- 关注
原创 Leetcode47- 按照频率将数组升序排序(1636)
给你一个整数数组 nums ,请你将数组按照每个值的频率 升序 排序。如果有多个值的频率相同,请你按照数值本身将它们 降序 排序。请你返回排序后的数组。示例 1:输入:nums = [1,1,2,2,2,3]输出:[3,1,1,2,2,2]解释:‘3’ 频率为 1,‘1’ 频率为 2,‘2’ 频率为 3。示例 2:输入:nums = [2,3,1,3,2]输出:[1,3,3,2,2]解释:‘2’ 和 ‘3’ 频率都为 2 ,所以它们之间按照数值本身降序排序。
2025-03-12 14:41:10
185
原创 Leetcode46- 两个数组的交集(349)
给定两个数组 nums1 和 nums2 ,返回 它们的 交集。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序。
2025-03-05 16:07:01
291
原创 Leetcode45- 找到字符串中合法的相邻数字(3438)
给你一个只包含数字的字符串 s。如果 s 中两个 相邻 的数字满足以下条件,我们称它们是 合法的 :前面的数字 不等于 第二个数字。两个数字在 s 中出现的次数 恰好 分别等于这个数字本身。请你从左到右遍历字符串 s ,并返回最先找到的 合法 相邻数字。如果这样的相邻数字不存在,请你返回一个空字符串。示例 1:输入:s = “2523533”输出:“23”解释:数字 ‘2’ 出现 2 次,数字 ‘3’ 出现 3 次。“23” 中每个数字在 s 中出现的次数都恰好分别等于数字本身。
2025-03-05 14:42:05
282
原创 Leetcode44- 字符串及其反转中是否存在同一子字符串(3083)
给你一个字符串 s ,请你判断字符串 s 是否存在一个长度为 2 的子字符串,在 s 反转后的字符串中也出现。如果存在这样的子字符串,返回 true;如果不存在,返回 false。示例 1:输入:s = “leetcode”输出:true解释:子字符串 “ee” 的长度为 2,它也出现在 reverse(s) == “edocteel” 中。示例 2:输入:s = “abcba”输出:true。
2025-03-04 16:51:35
148
原创 Leetcode43- 与车相交的点(2357)
给你一个下标从 0 开始的二维整数数组 nums 表示汽车停放在数轴上的坐标。对于任意下标 i,nums[i] = [starti, endi] ,其中 starti 是第 i 辆车的起点,endi 是第 i 辆车的终点。返回数轴上被车 任意部分 覆盖的整数点的数目。示例 1:输入:nums = [[3,6],[1,5],[4,7]]输出:7解释:从 1 到 7 的所有点都至少与一辆车相交,因此答案为 7。示例 2:输入:nums = [[1,3],[5,8]]输出:7。
2025-03-04 16:07:10
256
原创 Leetcode42- 盒子中小球的最大数量(1742)
你在一家生产小球的玩具厂工作,有 n 个小球,编号从 lowLimit 开始,到 highLimit 结束(包括 lowLimit 和 highLimit ,即 n == highLimit - lowLimit + 1)。另有无限数量的盒子,编号从 1 到 infinity。你的工作是将每个小球放入盒子中,其中盒子的编号应当等于小球编号上每位数字的和。例如,编号 321 的小球应当放入编号 3 + 2 + 1 = 6 的盒子,而编号 10 的小球应当放入编号 1 + 0 = 1 的盒子。
2025-03-04 14:51:08
417
原创 Leetcode41- 数字小镇中的捣蛋鬼(3289)
数字小镇 Digitville 中,存在一个数字列表 nums,其中包含从 0 到 n - 1 的整数。每个数字本应 只出现一次,然而,有 两个 顽皮的数字额外多出现了一次,使得列表变得比正常情况下更长。为了恢复 Digitville 的和平,作为小镇中的名侦探,请你找出这两个顽皮的数字。返回一个长度为 2 的数组,包含这两个数字(顺序任意)。示例 1:输入: nums = [0,1,1,0]输出: [0,1]解释:数字 0 和 1 分别在数组中出现了两次。
2025-03-03 15:48:41
551
原创 Leetcode40- 两个字符串的排列差(3146)
给你两个字符串 s 和 t,每个字符串中的字符都不重复,且 t 是 s 的一个排列。排列差 定义为 s 和 t 中每个字符在两个字符串中位置的绝对差值之和。返回 s 和 t 之间的 排列差。示例 1:输入:s = “abc”, t = “bac”输出:2解释:对于 s = “abc” 和 t = “bac”,排列差是:“a” 在 s 中的位置与在 t 中的位置之差的绝对值。“b” 在 s 中的位置与在 t 中的位置之差的绝对值。“c” 在 s 中的位置与在 t 中的位置之差的绝对值。
2025-03-03 15:26:37
228
原创 自动驾驶测试场景相关概念
自动驾驶测试场景是指在一定的时间和空间范围内,自动驾驶汽车与行驶环境中的其它车辆、道路、交通设施、气象条件等元素综合交互过程的一种总体动态描述。它是自动驾驶汽车的驾驶情景与行驶环境的有机组合,既包括各类实体元素,也涵盖了实体执行的动作及实体之间的连接关系。测试场景要素:主要分为测试车辆自身要素和外部交通环境要素两大部分;外部交通环境要素又涵盖:静态环境要素、动态环境要素、交通参与者要素、气象要素等。如何高效生成罕见场景?V2X通信延迟、信号干扰对决策的影响需在联合测试中验证。
2025-02-28 23:02:35
614
原创 场景重建——Nerf场景重建
上海AI Lab和商汤的工作:本文提出了一种新的多视图隐式表面重建技术,称为StreetSurf,该技术很容易应用于广泛使用的自动驾驶数据集中的街景图像,如Waymo感知序列,而不一定需要LiDAR数据。我们的方法扩展了现有的以目标为中心的神经表面重建技术,以解决由非以目标为核心、长而窄的相机轨迹捕获的无约束街景所带来的独特挑战。本文的3D高斯Splatting的思想和Plenoxels一脉相承,均用尽可能传统但高效的表达方式来提高模型表达能力的下限,再结合一些可微的和可学习的思想来提高模型拟合的上限。
2025-02-28 22:45:42
871
原创 场景重建——3DGS重建和闭环仿真相关概念综述
三维场景的表征有很多种不同的方式,包括网格(Mesh),点云(Point clouds),深度图(Depth map)等。以下主要介绍显示几何表示、隐式几何表示和隐式神经表示三种表征方式。直接描述场景的几何结构,适合精确建模和可视化。多边形网格(Polygon Mesh)由顶点、边和面组成,任意多边形网格都能转成三角网格,网格有点,线,面,包含拓扑关系面。优点:高效渲染,轻量,可以表征复杂表面,包含更多拓扑和平面信息,可编辑广泛支持于游戏引擎(如Unity/Unreal)。缺点:难以处理复杂
2025-02-25 20:46:30
998
原创 Leetcode39- 使数组中所有元素都等于零(2357)
给你一个非负整数数组 nums。在一步操作中,你必须:选出一个正整数 x ,x 需要小于或等于 nums 中 最小 的 非零 元素。nums 中的每个正整数都减去 x。返回使 nums 中所有元素都等于 0 需要的 最少 操作数。示例 1:输入:nums = [1,5,0,3,5]输出:3解释:第一步操作:选出 x = 1 ,之后 nums = [0,4,0,2,4]。第二步操作:选出 x = 2 ,之后 nums = [0,2,0,0,2]。
2024-09-05 13:19:17
360
原创 Leetcode38- 找出强数对的最大异或值 I(2932)
给你一个下标从 0 开始的整数数组 nums。如果一对整数 x 和 y 满足以下条件,则称其为 强数对 :你需要从 nums 中选出两个整数,且满足:这两个整数可以形成一个强数对,并且它们的按位异或(XOR)值是在该数组所有强数对中的 最大值。返回数组 nums 所有可能的强数对中的 最大 异或值。注意,你可以选择同一个整数两次来形成一个强数对。示例 1:输入:nums = [1,2,3,4,5]输出:7。
2024-09-04 16:02:13
350
原创 Leetcode37-和相等的子数组(2395)
给你一个下标从 0 开始的整数数组 nums ,判断是否存在 两个 长度为 2 的子数组且它们的 和 相等。注意,这两个子数组起始位置的下标必须 不相同。如果这样的子数组存在,请返回 true,否则返回 false。子数组 是一个数组中一段连续非空的元素组成的序列。示例 1:输入:nums = [4,2,4]输出:true解释:元素为 [4,2] 和 [2,4] 的子数组有相同的和 6。示例 2:输入:nums = [1,2,3,4,5]输出:false。
2024-09-02 13:58:25
400
1
原创 Leetcode36-通过翻转子数组使两个数组相等(1406)
给你两个长度相同的整数数组 target 和 arr。每一步中,你可以选择 arr 的任意 非空子数组 并将它翻转。你可以执行此过程任意次。如果你能让 arr 变得与 target 相同,返回 True;否则,返回 False。示例 1:输入:target = [1,2,3,4], arr = [2,4,1,3]输出:true解释:你可以按照如下步骤使 arr 变成 target:1- 翻转子数组 [2,4,1] ,arr 变成 [1,4,2,3]
2024-09-02 11:20:53
365
原创 Leetcode35-清统计相似字符串对的数目(2506)
给你一个下标从 0 开始的字符串数组 words。如果两个字符串由相同的字符组成,则认为这两个字符串 相似。例如,“abca” 和 “cba” 相似,因为它们都由字符 ‘a’、‘b’、‘c’ 组成。然而,“abacba” 和 “bcfd” 不相似,因为它们不是相同字符组成的。请你找出满足字符串 words[i] 和 words[j] 相似的下标对 (i, j) ,并返回下标对的数目,其中 0 <= i < j <= words.length - 1。
2024-08-30 11:24:56
357
原创 Leetcode34-构成整天的下标对数目|(3184)
给你一个整数数组 hours,表示以 小时 为单位的时间,返回一个整数,表示满足 i < j 且 hours[i] + hours[j] 构成 整天 的下标对 i, j 的数目。整天 定义为时间持续时间是 24 小时的 整数倍。例如,1 天是 24 小时,2 天是 48 小时,3 天是 72 小时,以此类推。示例 1:输入: hours = [12,12,30,24,24]输出: 2解释:构成整天的下标对分别是 (0, 1) 和 (3, 4)。
2024-08-12 16:31:35
282
原创 Leetcode33-清除数字(3174)
给你一个字符串 s。你的任务是重复以下操作删除 所有 数字字符:删除 第一个数字字符 以及它左边 最近 的 非数字 字符。请你返回删除所有数字字符以后剩下的字符串。示例 1:输入:s = “abc”输出:“abc”解释:字符串中没有数字。示例 2:输入:s = “cb34”输出:“”解释:一开始,我们对 s[2] 执行操作,s 变为 “c4”。然后对 s[1] 执行操作,s 变为 “”。提示:s 只包含小写英文字母和数字字符。输入保证所有数字都可以按以上操作被删除。
2024-07-26 15:56:57
415
原创 Leetcode32-求出出现两次数字的 XOR 值(3158)
给你一个数组 nums ,数组中的数字 要么 出现一次,要么 出现两次。请你返回数组中所有出现两次数字的按位 XOR 值,如果没有数字出现过两次,返回 0。示例 1:输入:nums = [1,2,1,3]输出:1解释:nums 中唯一出现过两次的数字是 1。示例 2:输入:nums = [1,2,3]输出:0解释:nums 中没有数字出现两次。示例 3:输入:nums = [1,2,2,1]输出:3解释:数字 1 和 2 出现过两次。
2024-07-26 15:07:39
301
原创 Leetcode31-统计出现过一次的公共字符串(2085)
给你两个字符串数组 words1 和 words2 ,请你返回在两个字符串数组中 都恰好出现一次 的字符串的数目。示例 1:输入:words1 = [“leetcode”,“is”,“amazing”,“as”,“is”], words2 = [“amazing”,“leetcode”,“is”]输出:2输入:words1 = [“b”,“bb”,“bbb”], words2 = [“a”,“aa”,“aaa”]输出:0解释:没有字符串在两个数组中都恰好出现一次。
2024-04-28 11:55:46
295
原创 Leetcode30-最小展台数量(66)
力扣嘉年华将举办一系列展览活动,后勤部将负责为每场展览提供所需要的展台。已知后勤部得到了一份需求清单,记录了近期展览所需要的展台类型, demand[i][j] 表示第 i 天展览时第 j 个展台的类型。在满足每一天展台需求的基础上,请返回后勤部需要准备的 最小 展台数量。注意:同一展台在不同天中可以重复使用。示例 1:输入:demand = [“acd”,“bed”,“accd”]输出:6解释: 第 0 天需要展台 a、c、d;第 1 天需要展台 b、e、d;
2024-04-24 15:13:02
291
原创 推理模型部署-训练好的权重文件如何生成.exe文件在另一台电脑运行
部署大型语言模型是一个详尽且复杂的过程,涵盖了从数据处理到模型优化、集成和维护的多个环节。通常模型训练好之后,在源码里边也有detect.py代码进行推理,但是如何将训练好的模型给下游使用或者部署到生产环境中而不使用源码呢?模型部署后,我们需要对模型的性能进行评价,以确保模型能够在生产环境中高效地运行。模型部署是机器学习应用中重要的一环,它可以帮助企业快速将机器学习应用落地,并带来实际的商业价值。总之,Python中有很多方法可以实现模型部署,需要根据具体的需求选择适合的方法。模型部署相关的上下游模块。
2024-04-24 15:05:16
1336
原创 VS(C++)BUG处理记录
vs新手可能会找不到头脑的一个错误。找到下图所示的函数"main1()"函数在两个CPP文件重复定义了,将其中一个改个名字就好啦。
2024-04-19 13:45:19
535
2
原创 vs LNK1169 LNK2005 找到一个或多个多重定义的符号
"main1()"函数在两个CPP文件重复定义了,将其中一个改个名字就好啦。vs新手可能会找不到头脑的一个错误。
2024-04-19 13:21:29
319
原创 VS编译部署libtorch-yolov5推理运行自己训练的权重文件/模型(CPU和GPU版本)
前期环境配置(vs+libtorch+opencv)可以参考博主另一篇博文,这里主要基于环境配置好之后如何运行yolov5的推理程序,并生成对应的.exe文件。libtroch版本尽量和pytorch的版本一致,。博主查阅了很多博文,有的博文是通过cmake编译运行,博主vs新手,因为VS配置的libtorch和opencv是跟着项目的(在vs界面),博主暂时还没能把终端cmake编译和vs联系起来(配置好的环境容易崩掉),后边有时间再出一版结合cmake编译运行的方案。
2024-04-17 16:59:35
2125
1
原创 VS C1083 无法打开包括文件: “cuda_runtime_api.h”: No such file or directory
【右键你的项目】→【生成依赖项】→【生成自定义】,勾选CUDA那一项。在用vs运行部署yolov5程序时出现的这个错误。
2024-04-17 14:55:08
1122
原创 libtorch+cuda12.0cmake编译失败“Failed to find nvToolsExt”解决办法
博主已安装cuda12.0以及对应的libtorch。这里可以直接通过安装cuda11.6(cuda11.8也可以)中的【Nsight NVTX】解决。
2024-04-17 09:34:40
721
原创 NVIDIA安装程序失败-Nsight Visual Studio Edition失败解决办法
最多的建议方法是各种删除干净,大家可以自行查找,博主因为那些都没用,所以就没记录下来。博主是要升级cuda版本,那么在安装新版本之前需要卸载以前的版本。的安装失败,直接结束了整个安装进程。此时博主开始为期几天的攻坚战。也有的博主是建议跳过这一步的安装,博主强迫症加上这个的作用。不管是电脑系统卸载还是360卸载,都卸载不掉。所以直接没有选择该解决方案。博主一溜卸载下去,最后有这么个东西卸载不掉,此时安装新的cuda也遇到了这个问题。结局办法,各种办法都试了,都未果。
2024-04-17 09:18:46
5219
4
原创 CCPD2019/2020以及其它国家车牌数据集合集介绍(包含YOLO算法可训的ccpdYOLO格式)
CCPD从中国安徽合肥市的一个停车场收集图像,该公司拥有800多个PFC,每个PFC都收取特定街道的停车费。每个停车费订单不仅记录LP号码,费用,停车时间等,还要求PFC从前面或后面拍摄汽车照片作为证据。 PFC基本上没有假期,通常从清晨(早上07:30)到午夜(晚上10:00)工作。因此,CCPD在不同的照明,不同天气的环境下都有图像。此外,由于拍摄照片的唯一要求是包含LP,PFC可能会从各种位置和角度拍摄,甚至会发生轻微的震颤。因此,CCPD中的图像来自不同的位置和角度,甚至模糊。在CCPD数据集中,
2024-04-16 11:12:23
2196
原创 vs配置opencv和libtorch(2.2.2)(cuda12.0)
网上很多教程刚开始都让切release模式,博主最初因为没找到哪里切换,所以用的默认的debug模式。他们配置方法一样,其区别在于Debug:调试版本,包含调试信息,所以容量比Release大很多,并且不进行任何优化(优化会使调试复杂化,因为源代码和生成的指令间关系会更复杂),便于程序员调试。Debug模式下生成两个文件,除了.exe或.dll文件外,还有一个.pdb文件,该文件记录了代码中断点等调试信息。
2024-04-15 16:55:08
2109
原创 vs配置opencv运行时“发生生成错误,是否继续并运行上次的成功生成”BUG解决办法
新手在用vs配置opencv时遇到这个错误时,容易无从下手解决。博主亲身经历很有可能是release/debug模式和配置文件不符的问题。opencv相关目录下有两个文件,一个针对release,一个针对debug。在配置【链接器】→【输入】→【附加依赖项】环节,编辑查看选择的文件。可以查看下自己配置模式是release还是debug。
2024-04-15 16:54:41
1900
原创 vs配置opencv找不到opencv_world480d.dll的问题
【此电脑】→【属性】→【高级系统设置】→【环境变量】→【系统变量】→【PATH】→【编辑】→【新建】最后是在电脑环境变量中添加了opencv安装后cv15文件夹中的bin目录的路径得以解决。博主附加依赖项加了,但是运行程序的时候就是跳出来。
2024-04-15 15:50:21
2410
原创 YOLOv5标签值含义根据标签将检测框色块替换(马赛克)
获取了两个关键坐标后就可以进一步生成适配规模的色块图片并粘贴到目标图像中。此时,如何根据标签值将检测到的人脸同色块替换呢?关键是获取检测框的左上角坐标和右下角坐标。检测后生成的标签txt如下,
2024-04-08 15:15:52
589
原创 Leetcode29-最大频率元素计数(3005)
给你一个由 正整数 组成的数组 nums。返回数组 nums 中所有具有 最大 频率的元素的 总频率。元素的 频率 是指该元素在数组中出现的次数。示例 1:输入:nums = [1,2,2,3,1,4]输出:4解释:元素 1 和 2 的频率为 2 ,是数组中的最大频率。因此具有最大频率的元素在数组中的数量是 4。示例 2:输入:nums = [1,2,3,4,5]输出:5解释:数组中的所有元素的频率都为 1 ,是最大频率。因此具有最大频率的元素在数组中的数量是 5。
2024-02-01 13:49:36
618
原创 三维重建衡量指标记录
Completeness Rati (CR) 完整性比率完整性比率是用于评估三维重建质量的指标之一,它衡量了重建结果中包含的真实物体表面或点云的百分比。完整性比率通常是通过比较重建结果中的点云或三维模型与真实或标准点云或模型之间的重叠来计算的。具体计算步骤可能如下:定义真实模型和重建模型:首先,需要有一个真实的或标准的三维模型或点云,以及一个重建的三维模型或点云(由三维重建技术生成)。
2024-01-25 12:36:53
1341
原创 Leetcode28-合并相似的物品(2363)
给你两个二维整数数组 items1 和 items2 ,表示两个物品集合。每个数组 items 有以下特质:items[i] = [valuei, weighti] 其中 valuei 表示第 i 件物品的 价值 ,weighti 表示第 i 件物品的 重量。items 中每件物品的价值都是 唯一的。请你返回一个二维数组 ret,其中 ret[i] = [valuei, weighti], weighti 是所有价值为 valuei 物品的 重量之和。注意:ret 应该按价值 升序 排序后返回。
2024-01-23 15:29:53
1383
原创 Leetcode27-判断一个数的数字技术是否等于数位的值(2283)
给你一个下标从 0 开始长度为 n 的字符串 num ,它只包含数字。如果对于 每个 0 <= i < n 的下标 i ,都满足数位 i 在 num 中出现了 num[i]次,那么请你返回 true ,否则返回 false。示例 1:输入:num = “1210”输出:true解释:数字 0 在 num 中出现了一次。数字 1 在 num 中出现了两次。数字 2 在 num 中出现了一次。数字 3 在 num 中出现了零次。
2024-01-23 15:23:30
561
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人