
LeetCode
Chaney不会代码
生活原本郁闷,但跑起来就会有风。
展开
-
1298. 你能从盒子里获得的最大糖果数
Go语言使用广度优先。原创 2025-06-03 09:06:50 · 213 阅读 · 0 评论 -
leetcode135. 分发糖果
【代码】leetcode135. 分发糖果。原创 2025-06-02 07:59:08 · 82 阅读 · 0 评论 -
动手实现环形数组
Go语言实现环形数组。原创 2025-06-01 09:01:03 · 404 阅读 · 0 评论 -
动态数组实现
Go语言实现动态数组。原创 2025-05-31 16:45:04 · 84 阅读 · 0 评论 -
LRU算法实现
LRU Golang 版本。原创 2025-05-29 09:26:24 · 68 阅读 · 0 评论 -
最大子数组和
有两种「选择」,要么与前面的相邻子数组连接,形成一个和更大的子数组;要么不与前面的子数组连接,自成一派,自己作为一个子数组。在这两种选择中择优,就可以计算出最大子数组,而且空间复杂度还有优化空间,见详细题解。原创 2025-05-27 09:01:03 · 252 阅读 · 0 评论 -
简单实现LRU算法
简单实现LRU算法-面试手撕。原创 2025-05-26 10:26:34 · 92 阅读 · 0 评论 -
LeetCode连接两字母单词得到的最长回文串
随后,我们遍历哈希表的所有元素,并用 res 维护可能构成回文字符串的最长长度,同时用初值为 false 的布尔变量 mid 判断是否存在可以作为中心单词的、出现奇数次的回文单词。word=rev,此时可以构成的对数为 ⌊m/2⌋,即对最长回文字符串贡献的字符长度为 4⌊m/2⌋,我们同样将 res 加上对应值。如果按照上述条件挑选后,仍然存在未被选择的两个字符相同的单词(此时该字符串只可能有一个未被选择,且该字符串一定在 words 中出现奇数次),我们可以任意选择一个。反之则没有,我们不进行任何操作。原创 2025-05-25 08:39:29 · 300 阅读 · 0 评论 -
妙解每日一题
【代码】妙解每日一题。原创 2025-05-16 00:57:41 · 132 阅读 · 0 评论 -
Golang最长连续序列
这样可以避免大量重复计算。比如 nums=[3,2,4,5],从 3 开始,我们可以找到 3,4,5 这个连续序列;而从 2 开始,我们可以找到 2,3,4,5 这个连续序列,一定比从 3 开始的序列更长。如果 nums=[1,1,1,…,1,2,3,4,5,…](前一半都是 1),遍历 nums 的做法会导致每个 1 都跑一个 O(n) 的循环,总的循环次数是 O(n。核心思路:对于 nums 中的元素 x,以 x 为起点,不断查找下一个数 x+1,x+2,⋯ 是否在 nums 中,并统计序列的长度。原创 2025-05-13 09:01:42 · 209 阅读 · 0 评论 -
3. 无重复字符的最长子串
c. right在前面进行扫描,经过验证没问题的就放置到left这个空间当中进行保存。4. 当这个字符串在cnt存储的空间中是大于1的,就删除这个元素,并且让后面的左指针前移一位。b. 这个双指针本质上就是一种快慢指针的想法。3. 使用right指针对原本的字符串中的数据进行遍历。1. 创建一个存储不重复元素的空间进行去重元素的存储。2. 使用滑动窗口的思想进行实现,怎么使用滑动窗口?a. 使用双指针的想法。典型的哈希表,滑动窗口的问题。原创 2025-05-11 14:33:12 · 170 阅读 · 0 评论 -
回文数--手绘
这样的话方便我们之后去判断。主要的就是数位分离的想法。把n位数分解为一个一个的。原创 2024-08-17 16:37:34 · 238 阅读 · 0 评论 -
最长回文字串
遇到不是回文的时候结束。举个例子,str=acdbbdaa 我们需要寻找从第一个 b(位置为 3)出发最长回文串为多少。但是其实他们的本质上也都是字符串所以也不需要进行一个过多的进行考虑。同样的如果我们这个字符串的空间存储不够了,进行扩容就可以了。首先往左寻找与当期位置相同的字符,直到遇到不相等为止。然后往右寻找与当期位置相同的字符,直到遇到不相等为止。首先我们要去明白这个最长回文字串的相关的意思。也要考虑字母和数字同时存在的相关的状况。也同时存在着两边都相等的很爽的情况了。这道题目的解法总结如下。原创 2024-08-17 16:15:52 · 182 阅读 · 0 评论 -
两数相加--手绘
之后在进位之后我们让这个carry去接受这个值在之后进行添加到更高一位的数值上。从而在遍历的过程中我们知道,在这个链表中我们去存储这个原本的进位之后的数值。在最开始的时候,我们要去先new上一个链表。这样的话就去实现了一个新的链表最后输出。方便我们在之后对链表的一个相关的遍历。首先我们要去了解链表的相关的知识。表示我们链表中所剩下的数值。对于这道题的相关总结。让指针指向这个头节点。原创 2024-08-17 15:19:36 · 306 阅读 · 0 评论