
算法
文章平均质量分 61
飞询
我是一个00后程序员,正在专注学习AI相关原理知识。我会定期为大家分享关于AI原理、智能体、AI绘画及各种AI工具使用的实用文章。如果您对这些内容感兴趣,欢迎关注我的公众号 “飞询聊AI”。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
1668. 最大重复子字符串
摘要 题目要求在字符串sequence中找出子串word的最大连续重复次数。算法思路是:将字符串转换为字符数组后遍历sequence,每次遇到与word首字符匹配的位置时,检查后续字符是否完全匹配word,并统计连续匹配次数。时间复杂度O(N^2),空间复杂度O(1)。代码实现使用双循环匹配,外层遍历sequence,内层验证完整word匹配,通过计数器记录最大重复次数。测试结果显示该解法在时间(0ms)和空间(40.83MB)上表现优异。原创 2025-07-06 11:30:05 · 270 阅读 · 0 评论 -
387. 字符串中的第一个唯一字符
摘要:本文介绍了力扣387题"字符串中的第一个唯一字符"的优化解法。使用byte数组标记字符状态(0未出现/1出现一次/2多次出现),并用ArrayList存储首次出现的索引。优化后改用固定大小int数组替代ArrayList,避免扩容开销。算法时间复杂度O(n),空间复杂度O(1),最终实现5ms运行时间(快于89%提交),内存44.38MB(优于49%提交)。关键点是通过有限状态标记和直接索引访问提高效率。原创 2025-06-27 18:23:15 · 191 阅读 · 0 评论 -
leetcode - 每日一题 - 3226. 使两个整数相等的位更改次数
位运算。原创 2024-11-02 20:12:08 · 346 阅读 · 0 评论 -
leetcode - 263. 丑数
大致的思路是,通过循环将 n 这个数去除以 {2,3,5} ,如果能整除就进行递归 将 n 除以 {2,3,5} 传入,通过这样将数逐渐除到 n == 2 || n == 3 || n == 5 那么就代表是丑数。40 = 2 * 2 * 5,我可以先除以 5,也可以直接除以 2,先除 {2,3,5} 哪一个,最后结果集肯定是 {2,2,5}只是顺序不一样。原创 2024-10-29 13:29:00 · 504 阅读 · 0 评论 -
leetcode - 257. 二叉树的所有路径
大致想法:就是使用递归,在递归过程中使用 StringBuilder 存储路径上的节点和 箭头指向字符,直到 TreeNode 节点中左子节点 和 右子节点 都为空,将 StringBuilder 中存的依赖路径 加入到 list 中,每当退出递归,就回溯(将加入的 (节点值 + "->") 删除掉)因为遍历到叶子节点之后,还需要遍历 栈,最环的情况是 叶子节点的数量为 n/2,每个路径字符串的长度为 log(n)(因为完全二叉树的高度为 log(n))时间复杂度:O(nlogn);原创 2024-10-28 20:33:51 · 919 阅读 · 0 评论 -
leetcode - 684. 冗余连接
是否相等,如果相等,那么就代表此刻把这条边加上去就形成了环【可以这么理解,如果形成了环,那么两个端点在环内从那个端点出发都可以到达环内所有节点,只是这里提取出共同的 根节点罢了】,用于处理一些不交集(Disjoint Sets)的合并及查询问题。不交集指的是一系列没有重复元素的集合。中,那么在遍历到边的时候先去判断的边的两个端点的。大致上的思路就是将元素加入到。原创 2024-10-27 21:56:51 · 372 阅读 · 0 评论 -
leetcode - 338. 比特位计数
这个题目大致的意思:就是比如给一个数 n,假设 n = 5, 那么就返回数组【长度为 n + 1】,然后返回 数组下标这个数对应的二进制的 1 有多少个。原创 2024-10-26 16:12:40 · 384 阅读 · 0 评论