一个憨憨coder
码龄11年
求更新 关注
提问 私信
  • 博客:416,504
    问答:1,446
    动态:5
    417,955
    总访问量
  • 584
    原创
  • 4,419
    排名
  • 1,590
    粉丝
  • 1,191
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
加入CSDN时间: 2014-09-15

个人简介:热爱

博客简介:

红血哥

查看详细资料
个人成就
  • 获得8,395次点赞
  • 内容获得7次评论
  • 获得6,733次收藏
  • 代码片获得1,106次分享
  • 原力等级
    原力等级
    6
    原力分
    2,486
    本月获得
    141
创作历程
  • 569篇
    2025年
  • 13篇
    2019年
  • 2篇
    2016年
成就勋章
TA的专栏
  • 算法
    405篇
  • 架构
    10篇
  • 网络
    3篇
  • Mysql
    13篇
  • AI
    12篇
  • spring
    52篇
  • jvm
    25篇
  • java并发
    20篇
  • spring boot
    26篇
  • redis
    9篇
  • Dubbo
    8篇
  • nacos
    2篇
  • spring cloud
    2篇
  • Linux
    1篇
  • docker
    1篇
  • spring mvc
    4篇
  • mybatis
    6篇
  • java
    69篇

TA关注的专栏 57

TA关注的收藏夹 0

TA关注的社区 13

TA参与的活动 0

兴趣领域 设置
  • 大数据
    mysqlredis
  • 后端
    spring架构
  • 搜索
    elasticsearch
  • 服务器
    linux
创作活动更多

AI 镜像开发实战征文活动

随着人工智能技术的飞速发展,AI 镜像开发逐渐成为技术领域的热点之一。Stable Diffusion 3.5 FP8 作为强大的文生图模型,为开发者提供了更高效的图像生成解决方案。为了推动 AI 镜像开发技术的交流与创新,我们特此发起本次征文活动,诚邀广大开发者分享在 Stable Diffusion 3.5 FP8 文生图方向的实战经验和创新应用 本次征文活动鼓励开发者围绕 Stable Diffusion 3.5 FP8 文生图方向,分享以下方面的内容: 1. 技术实践与优化 - Stable Diffusion 3.5 FP8 模型架构解析与优化技巧 - 文生图生成效果的提升方法与技巧 - 模型部署与加速策略,例如使用 Hugging Face、Diffusers 等工具 - 针对特定场景(例如二次元、写实风)的模型微调与定制化开发 2. 应用场景探索 - Stable Diffusion 3.5 FP8 在不同领域的应用案例分享,例如游戏设计、广告创意、艺术创作等 - 利用 Stable Diffusion 3.5 FP8 实现图像编辑、图像修复、图像增强等功能的探索 - 结合其他 AI 技术(例如 NLP、语音识别)构建更强大的应用 3. 创新应用与思考 - 基于 Stable Diffusion 3.5 FP8 的创新应用场景设计 - AI 镜像开发的未来发展方向的思考与展望 - 对 AI 镜像开发伦理、安全等问题的探讨

28人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

算法题 最大三角形面积

摘要:本文介绍了计算平面点集中最大三角形面积的算法。核心思路是枚举所有三点组合,使用叉积公式计算面积并记录最大值。对于小数据集(n≤50),采用三重循环暴力枚举即可;对于大数据集,可先用Andrew算法求凸包,再在凸包上寻找最大三角形。提供了三种实现:暴力枚举法、向量叉积法和凸包优化法,其中暴力法最直观,凸包法效率更高。三角形面积计算公式为0.5×|x₁(y₂-y₃)+x₂(y₃-y₁)+x₃(y₁-y₂)|。
原创
博文更新于 16 小时前 ·
111 阅读 ·
3 点赞 ·
0 评论 ·
2 收藏

算法题 所有可能的路径

摘要 本文探讨了在有向无环图(DAG)中寻找从起点到终点的所有路径问题。提出了三种解决方案:DFS回溯法、BFS法和迭代DFS法。核心思路是利用图的遍历特性,通过递归或队列记录完整路径。DFS回溯法通过递归探索所有邻居节点,到达终点时保存路径并回溯;BFS法使用队列存储路径,逐步扩展直到找到所有有效路径。算法时间复杂度为O(2^N × N),空间复杂度取决于路径存储需求。文中通过示例详细说明了算法执行过程,并提供了多种实现方式的代码示例。
原创
博文更新于 16 小时前 ·
487 阅读 ·
18 点赞 ·
0 评论 ·
5 收藏

算法题 匹配子序列的单词数

本文探讨了如何高效计算字符串数组中是给定字符串子序列的单词数量。提出了三种优化方法:1)预处理字符位置并使用二分查找匹配;2)多指针同步遍历;3)缓存结果避免重复计算。核心思路是通过预处理减少重复匹配操作,利用二分查找优化匹配效率。方法一预处理字符位置后,对每个单词使用二分查找判断子序列关系;方法二为每个单词维护指针同步匹配;方法三利用缓存存储已计算结果。这些方法显著提升了处理大量重复单词时的效率,时间复杂度优于暴力匹配。
原创
博文更新于 17 小时前 ·
363 阅读 ·
4 点赞 ·
0 评论 ·
5 收藏

算法题 K 站中转内最便宜的航班

本文探讨了在最多k次中转限制下寻找最便宜航班的问题。通过分析三种解法:Bellman-Ford算法(迭代松弛边)、动态规划(按中转次数分层计算)和Dijkstra变种(带状态优先队列),提供了高效求解该问题的方法。核心在于正确处理中转次数限制,其中Bellman-Ford方法通过k+1轮迭代更新最短路径,动态规划使用二维数组记录状态,而改进的Dijkstra算法则将中转次数纳入优先队列的状态中。这些方法都能在保证不超过k次中转的前提下,找到从出发城市到目的地城市的最低成本路径。
原创
博文更新于 2025.12.17 ·
846 阅读 ·
23 点赞 ·
0 评论 ·
15 收藏

算法题 判断二分图

摘要 本文介绍了判断无向图是否为二分图的三种算法。二分图要求节点能分成两组,使每条边的两个节点属于不同组。关键思路是通过图着色(两种颜色)确保相邻节点颜色不同。三种实现方法包括:1) DFS递归着色并检查冲突;2) BFS迭代着色;3) 并查集将节点邻居合并并检查连通性。算法需处理多个连通分量,时间复杂度均为O(V+E),空间复杂度O(V)。核心是检测是否存在奇数长度环(奇环),若存在则不是二分图。
原创
博文更新于 2025.12.17 ·
904 阅读 ·
13 点赞 ·
0 评论 ·
10 收藏

算法题 字母大小写全排列

字母大小写全排列算法摘要 本文介绍了生成字符串字母大小写全排列的三种方法。给定包含字母、数字和特殊字符的字符串,需要返回所有可能的排列组合,其中字母可变为大写或小写,其他字符保持不变。 算法思路: 回溯法:递归处理每个字符,遇到字母时尝试两种大小写形式 迭代法:逐步构建结果,对每个字母扩展小写和大写两种可能 位运算法:用二进制位表示字母的大小写选择 复杂度分析: 时间复杂度:O(2^n × m),其中n为字母数,m为字符串长度 空间复杂度:O(2^n × m)存储结果 示例: 输入"a1b2&qu
原创
博文更新于 2025.12.17 ·
332 阅读 ·
5 点赞 ·
0 评论 ·
9 收藏

算法题 重构字符串

摘要: 该问题要求重新排列字符串,使相邻字符不相同。核心思路是优先处理高频字符,通过贪心算法实现。方法一使用优先队列动态选取最高频字符,方法二采用间隔放置策略。关键判断条件是字符最大频率不超过(n+1)/2。两种方法的时间复杂度分别为O(n)和O(n log k),空间复杂度均为O(1)。测试案例验证了算法在可重构和不可重构情况下的正确性。
原创
博文更新于 2025.12.16 ·
1141 阅读 ·
19 点赞 ·
0 评论 ·
6 收藏

算法题 二进制表示中质数个计算置位

本文介绍了如何统计给定区间内二进制表示中1的个数为质数的整数个数。算法核心是预处理1-20范围内的质数(2,3,5,7,11,13,17,19),然后遍历区间内的每个数字,计算其二进制1的个数并判断是否为预存的质数。提供了三种实现方法:预处理质数+位运算、使用内置函数以及手动质数判断。时间复杂度为O(n×log m),空间复杂度O(1)。测试用例验证了算法正确性,包括边界情况和最大范围处理。该算法高效解决了二进制置位与质数结合的计数问题。
原创
博文更新于 2025.12.16 ·
373 阅读 ·
8 点赞 ·
0 评论 ·
4 收藏

算法题 到达终点数字

本文探讨了在无限数轴上从0点到达目标位置target的最小移动次数问题。每次移动可左可右,第n次移动n步。通过对称性简化问题后,提出两种解法:逐步累加法(O(√target)时间)和数学公式法(O(1)时间)。核心思路是利用累加和与奇偶性判断,当总和超过目标时,通过调整某些步骤方向使差值变为偶数。测试用例验证了算法的正确性,包括标准示例、边界情况和对称性验证。关键点在于理解反向操作对差值的偶数影响,以及连续步数的奇偶交替特性。
原创
博文更新于 2025.12.16 ·
298 阅读 ·
3 点赞 ·
0 评论 ·
5 收藏

算法题 网络延迟时间

本文解决网络节点信号传递的最短时间问题。给定n个节点和带权有向边,从节点k出发,求所有节点收到信号的最短时间。采用Dijkstra算法,通过邻接表建图,优先队列选择最短路径节点,松弛操作更新邻居距离。算法时间复杂度O((V+E)logV),空间复杂度O(V+E)。关键点包括邻接表表示、优先队列处理和不可达节点判断。测试用例验证了算法正确性,包括标准示例、不可达情况、单节点和复杂网络等场景。最终返回所有节点最大距离,若有不可达节点则返回-1。
原创
博文更新于 2025.12.15 ·
842 阅读 ·
17 点赞 ·
0 评论 ·
6 收藏

算法题 自除数

自除数是指能被其每一位数字整除的正整数(不含0)。本文介绍了两种算法来找出给定范围内的所有自除数:逐位验证法和字符串法。逐位验证法通过数学运算提取数字的每一位进行判断,时间复杂度为O(n×log m);字符串法则将数字转为字符串处理。关键点包括排除含0的数字和保存原始数字用于整除判断。测试用例验证了算法在不同范围的正确性,包括边界值和特殊情况的处理。
原创
博文更新于 2025.12.15 ·
270 阅读 ·
5 点赞 ·
0 评论 ·
3 收藏

算法题 买卖股票的最佳时机含手续费

本文介绍了如何计算在包含交易手续费的情况下买卖股票获得的最大利润。问题允许无限次交易,但每次卖出需支付固定手续费。算法采用动态规划,通过维护两个状态(持有股票和不持有股票)来跟踪每日最大利润。时间复杂度为O(n),空间复杂度为O(1)。关键点在于状态转移方程的设计和手续费处理时机(卖出时扣除)。测试用例验证了算法在各种情况下的正确性,包括价格波动、手续费高低等不同场景。
原创
博文更新于 2025.12.12 ·
752 阅读 ·
23 点赞 ·
0 评论 ·
8 收藏

算法题 设计链表

设计链表实现 本文介绍了两种链表实现方法:单链表和双链表。两种方法都使用虚拟头节点简化边界处理,并维护链表长度以优化性能。单链表实现包含基本的增删查操作,时间复杂度为O(n)。双链表实现通过双向指针优化了遍历效率,特别是对于靠近尾部的节点。两种实现都避免了使用内置链表库,符合题目要求。代码示例展示了如何实现get、addAtHead、addAtTail、addAtIndex和deleteAtIndex等核心操作,处理了各种边界情况如无效索引、空链表等。
原创
博文更新于 2025.12.12 ·
703 阅读 ·
13 点赞 ·
0 评论 ·
14 收藏

算法题 设计哈希映射

本文介绍了三种实现哈希映射的方法:数组直接寻址、链地址法和优化链地址法。数组法简单直接但空间消耗大;链地址法使用链表处理冲突,空间效率更高;优化链地址法采用链表节点实现,进一步提高了效率。三种方法均满足哈希映射的基本操作(put、get、remove),适用于不同场景下的需求。
原创
博文更新于 2025.12.12 ·
315 阅读 ·
3 点赞 ·
0 评论 ·
3 收藏

算法题 设计哈希集合

本文探讨了设计哈希集合的多种方法,包括布尔数组、链地址法和优化链地址法。布尔数组直接映射键值,简单高效但空间消耗大;链地址法使用桶数组和链表处理冲突,空间效率更高;优化链地址法进一步改进链表实现。每种方法都提供了对应的Java代码实现,包括初始化、添加、删除和查询操作。文章分析了不同方法的时间空间复杂度,为设计自定义哈希集合提供了实用参考。
原创
博文更新于 2025.12.11 ·
368 阅读 ·
5 点赞 ·
0 评论 ·
9 收藏

算法题 数据流中的第 K 大元素

摘要 本文介绍了如何设计一个高效的数据结构来查找数据流中的第K大元素。使用最小堆(优先队列)维护最大的K个元素,堆顶即为所求。初始化时间复杂度为O(N log k),每次添加操作仅需O(log k)。算法通过动态维护堆的大小,确保高效查询第K大元素。测试用例验证了算法在不同场景下的正确性,包括标准示例、k=1、k等于数组长度、重复元素和负数等情况。该方案空间复杂度为O(k),适用于实时数据流处理。
原创
博文更新于 2025.12.11 ·
730 阅读 ·
29 点赞 ·
0 评论 ·
8 收藏

算法题 二叉搜索树中的插入操作

二叉搜索树插入操作摘要 二叉搜索树插入操作要求将新值插入合适位置保持BST性质。算法采用递归或迭代方式:递归通过比较节点值决定插入左/右子树,直至找到空位创建新节点;迭代则遍历找到插入位置的父节点后进行插入。两种方法时间复杂度均为O(H)(H为树高),空间复杂度分别为O(H)递归栈和O(1)迭代。插入操作始终在叶子节点位置完成,不会改变原BST结构。例如将5插入[4,2,7,1,3]后,树结构变为[4,2,7,1,3,5],其中5成为7的左子节点。
原创
博文更新于 2025.12.11 ·
674 阅读 ·
17 点赞 ·
0 评论 ·
16 收藏

算法题 二叉搜索树中的搜索

本文介绍了在二叉搜索树(BST)中搜索特定值节点的两种方法。递归方法通过比较节点值决定搜索左子树或右子树,时间复杂度平均为O(log N),空间复杂度O(H)。迭代方法使用指针遍历,空间复杂度优化为O(1)。文章提供了Java代码实现,包括树节点定义和两种搜索算法,并通过示例展示了搜索过程。测试用例验证了算法的正确性,包括找到目标和未找到的情况。BST的特性使得每次比较都能排除一半搜索空间,提高了搜索效率。
原创
博文更新于 2025.12.10 ·
544 阅读 ·
7 点赞 ·
0 评论 ·
8 收藏

算法题 计数二进制子串

计数二进制子串问题 问题描述:给定二进制字符串s,计算具有相同数量连续0和1的非空子串数量,要求0和1必须分组连续出现。 解决方案: 分组统计法(最优解): 按连续相同字符分组,记录每组长度 相邻两组贡献的有效子串数=min(前组长度,后组长度) 时间复杂度O(n),空间复杂度O(1) 预处理分组法: 先统计所有分组长度 再计算相邻组贡献值 时间复杂度O(n),空间复杂度O(n) 暴力枚举法: 检查所有可能子串 时间复杂度O(n³),仅适用于小规模数据 示例: "00110011" →
原创
博文更新于 2025.12.10 ·
864 阅读 ·
6 点赞 ·
0 评论 ·
14 收藏

算法题 交替位二进制数

本文探讨了如何检查一个正整数的二进制表示是否为交替位(相邻位不同)。提出了四种解决方案:1)逐位检查法,比较相邻位;2)位运算法,利用异或和全1特性;3)字符串转换法,直接比较字符;4)预计算法,提前生成所有交替位数。其中位运算法效率最高(O(1)时间),而字符串法最直观。测试用例验证了各方法的正确性,包括边界情况如1、2和最大交替位数1431655765。
原创
博文更新于 2025.12.10 ·
294 阅读 ·
3 点赞 ·
0 评论 ·
7 收藏
加载更多