自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(189)
  • 收藏
  • 关注

原创 【LeetCode 热题 100】347. 前 K 个高频元素——(解法三)桶排序

Problem:给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。

2025-08-07 00:00:00 1409

原创 【LeetCode 热题 100】347. 前 K 个高频元素——(解法二)最大堆

Problem:给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。

2025-08-06 00:15:00 995

原创 【LeetCode 热题 100】347. 前 K 个高频元素——(解法一)排序截取

Problem:给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。

2025-08-06 00:00:00 1002

原创 【LeetCode 热题 100】215. 数组中的第K个最大元素——(解法二)最小堆

Problem:给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。

2025-08-05 00:15:00 1249

原创 【LeetCode 热题 100】215. 数组中的第K个最大元素——(解法一)快速选择

Problem:给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。

2025-08-05 00:00:00 1458

原创 【LeetCode 热题 100】84. 柱状图中最大的矩形——(解法二)单调栈+单次遍历

Problem:给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1。求在该柱状图中,能够勾勒出来的矩形的最大面积。

2025-08-04 00:15:00 983

原创 【LeetCode 热题 100】84. 柱状图中最大的矩形——(解法一)单调栈+三次遍历

Problem:给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1。求在该柱状图中,能够勾勒出来的矩形的最大面积。

2025-08-04 00:00:00 776

原创 【LeetCode 热题 100】739. 每日温度——(解法二)单调栈+从左到右

Problem:给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。

2025-08-03 00:15:00 1067

原创 【LeetCode 热题 100】739. 每日温度——(解法一)单调栈+从右到左

Problem:给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。

2025-08-03 00:00:00 882

原创 【LeetCode 热题 100】155. 最小栈

Problem:设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。实现 MinStack 类:MinStack() 初始化堆栈对象。void push(int val) 将元素val推入堆栈。void pop() 删除堆栈顶部的元素。int top() 获取堆栈顶部的元素。int getMin() 获取堆栈中的最小元素。

2025-08-02 00:00:00 1920

原创 【LeetCode 热题 100】394. 字符串解码

Problem:给定一个经过编码的字符串,返回它解码后的字符串。编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 k ,例如不会出现像 3a 或 2[4] 的输入。

2025-08-02 00:00:00 1385

原创 【LeetCode 热题 100】4. 寻找两个正序数组的中位数——(解法一)线性扫描

Problem:给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数。算法的时间复杂度应该为 O(log (m+n))。

2025-08-01 00:00:00 275

原创 【LeetCode 热题 100】20. 有效的括号

Problem:给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。

2025-08-01 00:00:00 1451

原创 【LeetCode 热题 100】153. 寻找旋转排序数组中的最小值——二分查找

这段代码旨在解决一个经典的二分查找变种问题:寻找旋转排序数组中的最小值 (Find Minimum in Rotated Sorted Array)。一个旋转排序数组是指一个原本升序排列且没有重复元素的数组,在某个未知的“枢轴”点进行了旋转(例如, 可能变为 )。该算法采用了一种非常高效的、经过特殊设计的 二分查找 策略来定位最小值。其核心思想是,通过比较中间元素 和数组的最后一个元素 ,来判断最小值所在的区间,从而不断缩小搜索范围。关键参照物:数组的最后一个元素二分查找的逻辑循环终止与结果这个算法 el

2025-07-31 00:15:00 726

原创 【LeetCode 热题 100】33. 搜索旋转排序数组——(解法二)一次二分

Problem:整数数组 nums 按升序排列,数组中的值 互不相同。在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], …, nums[n-1], nums[0], nums[1], …, nums[k-1]](下标 从 0 开始 计数)。例如, [0,1,2,4,5,6,7] 在下标 3 处经旋转后可能变为 [4,5,6,7,0,1,2]。

2025-07-31 00:00:00 723

原创 【LeetCode 热题 100】33. 搜索旋转排序数组——(解法一)两次二分

Problem:整数数组 nums 按升序排列,数组中的值 互不相同。在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], …, nums[n-1], nums[0], nums[1], …, nums[k-1]](下标 从 0 开始 计数)。例如, [0,1,2,4,5,6,7] 在下标 3 处经旋转后可能变为 [4,5,6,7,0,1,2]。

2025-07-30 00:15:00 1050

原创 【LeetCode 热题 100】34. 在排序数组中查找元素的第一个和最后一个位置——二分查找

问题要求在一个升序排序的数组。

2025-07-30 00:00:00 1146

原创 【LeetCode 热题 100】74. 搜索二维矩阵——(解法二)排除法

Problem:给你一个满足下述两条属性的 m x n 整数矩阵:每行中的整数从左到右按非严格递增顺序排列。每行的第一个整数大于前一行的最后一个整数。给你一个整数 target ,如果 target 在矩阵中,返回 true;否则,返回 false。

2025-07-29 00:30:00 1082

原创 【LeetCode 热题 100】74. 搜索二维矩阵——(解法一)二分查找

Problem:给你一个满足下述两条属性的 m x n 整数矩阵:每行中的整数从左到右按非严格递增顺序排列。每行的第一个整数大于前一行的最后一个整数。给你一个整数 target ,如果 target 在矩阵中,返回 true;否则,返回 false。

2025-07-29 00:15:00 1615

原创 【LeetCode 热题 100】35. 搜索插入位置——二分查找(闭区间)

这段代码同样旨在解决 “搜索插入位置 (Search Insert Position)” 的问题。它也是基于二分查找(Binary Search),但采用了另一种常见的“左闭右闭”区间模板。这个模板的搜索逻辑和边界处理与“左闭右开”版本略有不同。算法的整体思路可以分解为以下步骤:定义搜索区间:循环搜索:确定最终结果:时空复杂度时间复杂度:O(log N)算法核心:该算法是二分查找。计算依据:与上一个版本类似, 循环的每一次迭代都会将搜索区间 的大小(即 )大约减半。这导致循环的迭代次数与

2025-07-29 00:00:00 939

原创 【LeetCode 热题 100】51. N 皇后——回溯

Problem:按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 ‘Q’ 和 ‘.’ 分别代表了皇后和空位。

2025-07-28 00:00:00 968

原创 【LeetCode 热题 100】35. 搜索插入位置——二分查找(左闭右开)

这段代码旨在解决一个经典的搜索问题:搜索插入位置 (Search Insert Position)。问题要求在一个已排序的数组 中查找目标值 。如果找到,则返回其索引;如果未找到,则返回它应该被插入的位置的索引,以保持数组的有序性。该算法采用的核心方法是二分查找(Binary Search),这是一种在有序数据集中进行高效查找的算法。此特定实现方式是一种常见的“左闭右开”区间模板,其目标是找到第一个大于或等于 的元素的位置。算法的整体思路可以分解为以下步骤:定义搜索区间:循环搜索:确定最终结果:时空复

2025-07-28 00:00:00 925

原创 【LeetCode 热题 100】79. 单词搜索——回溯

Problem:给定一个 m x n 二维字符网格 board 和一个字符串单词 word。如果 word 存在于网格中,返回 true;否则,返回 false。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。

2025-07-27 00:00:00 1232

原创 【LeetCode 热题 100】131. 分割回文串——回溯

这段代码旨在解决一个经典的组合搜索问题:分割回文串 (Palindrome Partitioning)。其目标是找到一个字符串 的所有可能的分割方案,使得每个分割出的子串都是一个回文串。该算法采用 深度优先搜索(DFS) 配合 回溯(Backtracking) 的策略来系统地探索所有可能的分割点。这个特定实现的DFS逻辑稍显独特,但其核心思想是,在字符串的每个位置 ,决定是否在此处进行“切割”。DFS 状态定义:递归中的决策(二分选择):基准情况与结果收集:通过这种方式,算法不重不漏地枚举了所有可能的、由

2025-07-27 00:00:00 1172

原创 【LeetCode 热题 100】22. 括号生成——(解法二)记录左括号位置

Problem:数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。

2025-07-26 00:15:00 794

原创 【LeetCode 热题 100】22. 括号生成——(解法一)选左括号还是选有括号

Problem:数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。

2025-07-26 00:00:00 984

原创 【LeetCode 热题 100】39. 组合总和——(解法二)选哪个

Problem:给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。candidates 中的 同一个 数字可以 无限制重复被选取。如果至少一个数字的被选数量不同,则两种组合是不同的。对于给定的输入,保证和为 target 的不同组合数少于 150 个。

2025-07-25 00:15:00 874

原创 【LeetCode 热题 100】39. 组合总和——(解法一)选或不选

Problem:给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。candidates 中的 同一个 数字可以 无限制重复被选取。如果至少一个数字的被选数量不同,则两种组合是不同的。对于给定的输入,保证和为 target 的不同组合数少于 150 个。

2025-07-25 00:00:00 892

原创 【LeetCode 热题 100】17. 电话号码的字母组合——DFS+回溯

这段代码旨在解决一个经典的组合问题:电话号码的字母组合 (Letter Combinations of a Phone Number)。给定一个只包含数字 2-9 的字符串,它需要返回所有这些数字可能代表的字母组合。该算法采用的核心方法是 回溯法(Backtracking),通过 深度优先搜索(DFS) 来系统地探索所有可能的字母组合。算法的整体思路可以分解为以下步骤:映射关系与初始化:逐位构建组合:递归与回溯的核心逻辑:递归终止条件:通过这个“选择-探索-撤销”的循环,算法能够不重不漏地遍历所有可能的字母

2025-07-24 00:15:00 901

原创 【LeetCode 热题 100】78. 子集——(解法二)回溯+选哪个

Problem:题目:给你一个整数数组 nums ,数组中的元素 互不相同。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。

2025-07-24 00:00:00 672

原创 【LeetCode 热题 100】78. 子集——(解法三)位运算

Problem:题目:给你一个整数数组 nums ,数组中的元素 互不相同。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。

2025-07-24 00:00:00 901

原创 【LeetCode 热题 100】78. 子集——(解法一)回溯+选或不选

Problem:题目:给你一个整数数组 nums ,数组中的元素 互不相同。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。

2025-07-23 00:15:00 2451

原创 【LeetCode 热题 100】46. 全排列——回溯

这段代码旨在解决一个经典的组合数学问题:全排列 (Permutations)。给定一个不含重复数字的数组 ,它需要找出其所有可能的全排列,并返回一个包含这些排列的列表。该算法采用的核心方法是 回溯法(Backtracking),这是一种通过 深度优先搜索(DFS) 来系统地探索所有可能解的搜索策略。算法的整体思路可以分解为以下步骤:逐位构建排列:状态维护:递归与回溯的核心逻辑:递归终止条件:通过这个“选择-探索-撤销”的循环,算法能够不重不漏地遍历所有可能的排列组合。时空复杂度时间复杂度:O(N * N

2025-07-23 00:00:00 562

原创 【LeetCode 热题 100】207. 课程表——DFS+三色标记

这段代码的目的是判断给定的课程和它们的先修课程要求是否能够构成一个可行的学习计划。这个问题在图论中等价于 检测一个有向图中是否存在环 (Cycle Detection in a Directed Graph)。如果存在环(例如,A->B->C->A),则意味着存在循环依赖,课程计划无法完成。该算法采用了经典的 深度优先搜索(DFS) 配合 三色标记法 来高效地检测环。构建图(邻接表):三色标记法:深度优先搜索 (DFS) 检测环:最终结果:时空复杂度时间复杂度:O(V + E)图的构建:构建邻接表需

2025-07-22 00:00:00 1428

原创 【LeetCode 热题 100】208. 实现 Trie (前缀树)

Trie树用空间换取了时间,它提供了与字典大小无关的、只与查询字符串长度相关的极快查询速度。参考灵神。

2025-07-22 00:00:00 971

原创 【LeetCode 热题 100】236. 二叉树的最近公共祖先——DFS

Problem:给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。

2025-07-21 00:00:00 929

原创 【LeetCode 热题 100】124. 二叉树中的最大路径和——DFS

Problem:二叉树中的 路径 被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次。该路径 至少包含一个 节点,且不一定经过根节点。路径和 是路径中各节点值的总和。给你一个二叉树的根节点 root ,返回其 最大路径和。

2025-07-21 00:00:00 798

原创 【LeetCode 热题 100】200. 岛屿数量——DFS

Problem:给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。

2025-07-21 00:00:00 887

原创 【LeetCode 热题 100】437. 路径总和 III——(解法二)前缀和+哈希表

Problem:给定一个二叉树的根节点 root ,和一个整数 targetSum ,求该二叉树里节点值之和等于 targetSum 的 路径 的数目。路径 不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。

2025-07-20 00:15:00 524

原创 【LeetCode 热题 100】437. 路径总和 III——(解法一)递归递归!

Problem:给定一个二叉树的根节点 root ,和一个整数 targetSum ,求该二叉树里节点值之和等于 targetSum 的 路径 的数目。路径 不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。

2025-07-20 00:00:00 812

基于Yolov8车辆检测及图像处理系统

一个简单的图像处理以及 yolov8 车辆检测的系统

2025-07-12

【计算机视觉】面向车辆目标检测的智慧图像识别系统:图像处理与特征提取操作指南

内容概要:本文档介绍了面向车辆目标检测的智慧图像识别系统的图像处理流程与功能。系统主要分为图像显示、基本操作、预处理、边缘检测、特征提取和深度学习几个模块。具体功能包括打开和保存图像、调整大小、转换为灰度图、直方图均衡化、高斯滤波、图像锐化、Canny边缘检测、Sobel边缘检测、形态学梯度边缘检测、SIFT特征点检测、HOG特征描述符、几何特征提取以及最终的车辆检测。每个步骤都有详细的处理提示和完成标识。 适合人群:适合对计算机视觉和图像处理有一定了解的技术人员,特别是从事智能交通系统或相关领域研究与开发的工程师。 使用场景及目标:①帮助用户熟悉图像处理的基本流程和技术手段;②为车辆检测项目提供从图像预处理到特征提取的完整解决方案;③支持科研人员进行算法优化和模型训练。 阅读建议:由于文档内容侧重于实际操作步骤,建议读者在学习过程中配合具体案例进行练习,同时可以参考相关的理论书籍加深理解。

2025-07-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除