力扣
文章平均质量分 92
小天才才
而世之奇伟、瑰怪,非常之观,常在于险远,而人之所罕至焉,故非有志者不能至也
展开
-
【leetcode刷题之路】面试经典150题(8)——位运算+数学+一维动态规划+多维动态规划
动态规划一生之敌!以后要多刷动态规划的题目培养思维能力!原创 2024-03-23 10:20:55 · 1138 阅读 · 0 评论 -
【leetcode刷题之路】面试经典150题(7)——分治+Kadane 算法+二分查找+堆
冲冲冲,拿下一道又一道算法题,拥抱满意offer!原创 2024-03-16 11:42:50 · 788 阅读 · 0 评论 -
【leetcode刷题之路】面试经典150题(6)——图+图的广度优先搜索+字典树+回溯
最近陆陆续续很多地方开始笔试和面试,大家都要好运好运哦,考的全会蒙的全对!!!原创 2024-03-11 11:03:46 · 1030 阅读 · 1 评论 -
【leetcode刷题之路】面试经典150题(5)——二叉树+二叉树层次遍历+二叉搜索树
最近有很多企业的春招和暑期实习都陆续开放了,大家要加油哦~原创 2024-03-04 22:50:19 · 793 阅读 · 0 评论 -
【leetcode刷题之路】面试经典150题(4)——栈+链表
刷题upupup,算法upupup,拥抱未来满意offer,加油加油加油!原创 2024-02-22 16:57:25 · 719 阅读 · 1 评论 -
【leetcode刷题之路】面试经典150题(3)——哈希表+区间
新年继续刷题继续加油!offer四面八方来!时时刻刻来!原创 2024-02-20 11:14:11 · 894 阅读 · 0 评论 -
【leetcode刷题之路】面试经典150题(2)——双指针+滑动窗口+矩阵
新年新气象,大家一起刷题找到满意的offer!原创 2024-02-18 10:25:58 · 1181 阅读 · 0 评论 -
【leetcode刷题之路】面试经典150题(1)——数组/字符串
新年第一更,祝大家都找到满意的offer!!!原创 2024-02-16 15:48:44 · 1423 阅读 · 0 评论 -
【leetcode刷题之路】剑指Offer(4)——分治+排序算法+动态规划
前序遍历是根左右,中序遍历是左根右,这也就意味着前序遍历的第一个节点是整棵树的根节点,顺着这个节点找到它在中序遍历中的位置,即为in_root,那么in_root左边的都在左子树,右边的都在右子树,这样就可以知道左子树一共有多少个节点,然后去前序遍历中找到左右子树的分界点,分成左右两部分,分别重复上述过程,找到各自部分的第一个根节点,然后再依次往下进行,直到最后左右子树的边界发生重合,此时二叉树重建完毕。(2)第二层遍历,分别遍历每一位数是几,除了第一位是1-9之外,其余都是0-9。原创 2023-08-29 23:02:36 · 2206 阅读 · 0 评论 -
【leetcode刷题之路】剑指Offer(3)——搜索与回溯算法
这道题其实就是把给出的这个二叉树变成中序遍历的结果输出,然后在中序遍历的过程中改变左右子树的指向即可,使之变成双向循环链表,这里借助双指针来构造循环链表,head指向循环链表的开始,pre指向中序遍历过程中访问到的每个结点的前序结点,按照中序遍历的过程进行DFS,遍历到最下面的左子树时,开始构造链表,此时左子树应该是当前root的前驱,这样就构造出了一个循环,然后依次往上返回构造其他循环,最后要把头尾连接起来。以上一题不同的是每层的数要存放为一个向量,最后返回多个向量。原创 2023-07-10 23:12:06 · 889 阅读 · 0 评论 -
【leetcode刷题之路】剑指Offer(2)——栈与队列+模拟+查找算法
定义两个栈s1和s2,s1是用来存放原始元素的栈,s2是用来记录每次s1入栈操作后此时的最小元素,这里要注意的时候,当每次s1进行pop操作时,s2也要进行pop操作,如果此时s2不为空的话,要把当前的最小值stack_min赋值为s2的栈顶元素,因为s2中出栈的元素有可能就是之前s1中的最小值,但是刚好此时s1出栈的元素就是这个最小值,所以这个最小值就消失了,不应该在s2中。模拟栈的压入过程即可,但是每次压入之后都要将top元素与popped中对应的元素进行比较,来模拟是否是合理的出栈序列。原创 2023-06-20 23:21:53 · 977 阅读 · 0 评论 -
【leetcode刷题之路】剑指Offer(1)——字符串+链表+双指针
利用双指针,定义pa和pb分别指向A和B的头节点,这里判断是否相交采用了一个非常有意思的方法,假设A和B相交节点前各有skipA和skipB个节点,而相交节点数为C,pa和pb同时开始遍历,如果pa遍历完了就指向headB,同理pb,那么到最后总会遍历相同次数,对于A:skipA+C+skipB,对于B:skipB+C+skipA,如果此时的节点一样的话,说明相交,否则说明都遍历到了各自的最后节点仍不相交,返回空指针。判断当前l1和l2的大小,如果l1较小,就从l1往后连接,并返回l1,同理l2。原创 2023-06-12 22:16:17 · 4868 阅读 · 0 评论 -
【leetcode刷题之路】初级算法(2)——链表+树+排序和搜索+动态规划
首先将链表进行反转,然后按照链表长度的一半逐一进行比较即可,这里要注意赋值的问题,一开始我是想直接把head赋值给一个空链表,后面发现指针这个东西都是指向同一个地址的,所以其中一个的结构变了另一个也会跟着变,后来就改用数组来存head里面原来正序的数字了,后期可以考虑一下如何用双指针(快慢指针)和栈怎么解决。BFS解题,按照树的每一层进行遍历,首先定义队列,如果当前节点不为空,则加入队列,之后分别遍历该节点的左右子树,依次重复上述操作,直到最后队列元素为空。二分法解题,注意遍历大小是从1到n,不要越界了。原创 2023-05-28 22:21:06 · 1661 阅读 · 0 评论 -
【leetcode刷题之路】初级算法(1)——数组+字符串
还是继续使用了双指针,low_price指的是目前遍历到的最低价格,初始为第一个元素,high_price指的是目前遍历到的最高价格,当找到最高价格的时候,说明产生了利润,这是计算本次的利润,并修改两个指针的值再次向后遍历,直到遍历完所有情况,不过这里还要考虑一下特殊情况,比如如果股票价格一天比一天低,最后利润应该为0,在这里定义了一个flag用来判断这个特殊情况。简单的进位加法题目,从数组的最后一个元素往前遍历即可,满十进一,不过要判断一下数组的第一个元素是否满十进一。原创 2023-04-20 00:05:31 · 532 阅读 · 0 评论 -
【力扣】【双指针】力扣刷题之经典双指针问题
文章目录977.有序数组的平方189.轮转数组283.移动零167.两数之和 II - 输入有序数组344.反转字符串557.反转字符串中的单词 III876.链表的中间结点19.删除链表的倒数第 N 个结点977.有序数组的平方题目链接:https://leetcode-cn.com/problems/squares-of-a-sorted-array/给你一个按非递减顺序排序的整数数组 nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例 1:输入:nums = [-4,-1原创 2022-01-23 16:30:25 · 618 阅读 · 0 评论