![](https://img-blog.csdnimg.cn/be35f4bbdfae40408c45507b1098d426.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Leetcode专题总结
文章平均质量分 92
主要是记录自己找工作过程中刷过的一些leetcode算法题。
满船清梦压星河HK
永远年轻,永远热泪盈眶!
消失一段时间,死磕c++中!
展开
-
LeetCode算法题整理(200题左右)
Leetcode原创 2022-10-18 16:20:03 · 14399 阅读 · 1 评论 -
【Leetcode 第二轮刷题日记】LeetcodeTOP100+高频题整理
目录一、链表篇二、树篇三、回溯、DFS、BFS篇四、双指针、二分查找五、滑动窗口一、链表篇二、树篇三、回溯、DFS、BFS篇四、双指针、二分查找五、滑动窗口原创 2022-05-23 20:02:51 · 6504 阅读 · 2 评论 -
【剑指 Offer(专项突击版)前100题】
目录一、链表1.1、剑指 Offer II 025. 链表中的两数相加1.2、剑指 Offer II 024. 反转链表1.3、剑指 Offer II 026. 重排链表1.4、剑指 Offer II 021. 删除链表的倒数第 n 个结点一、链表1.1、剑指 Offer II 025. 链表中的两数相加剑指 Offer II 025. 链表中的两数相加.# Definition for singly-linked list.# class ListNode:# def __init__原创 2022-03-09 23:02:45 · 2250 阅读 · 0 评论 -
【Leetcode 专题一(树专题)】前、中、后、层次遍历、二叉搜索树、二叉树修改构造、二叉树的一些特殊递归
目录一、前序遍历1.0、前序框架模板1.1、经典题目二、中序遍历2.0、中序框架模板三、后续遍历3.0、后序框架模板四、层次遍历4.0、层次框架模板一、前序遍历1.0、前序框架模板144. 二叉树的前序遍历递归写法# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, val=0, left=None, right=None):# self.val = val原创 2021-10-07 22:00:05 · 254 阅读 · 0 评论 -
【Leetcode 专题二(回溯专题)】组合、切割、子集、排序、棋盘、行程问题
粗暴力搜索,回溯算法不是求最优解,而是求所有可行解。组合问题(不看元素顺序)切割问题子集问题排列问题(强调元素顺序)棋盘问题一、回溯回顾下多叉树的遍历框架:def dfs(root): if not root: return for child in root.children: dfs(child )而回溯算法的模板和多叉树遍历的模板非常相似:result= []def backtracking(路径, 选择列表): if(满足终止条件): res原创 2021-10-19 19:52:45 · 265 阅读 · 0 评论 -
【Leetcode 专题三】BFS、DFS(不含树、二叉树)
一、BFSleetcode200. 岛屿数量200. 岛屿数量.视频学习.class Solution: def numIslands(self, grid: List[List[str]]) -> int: count = 0 row, col = len(grid), len(grid[0]) def dfs(grid, i, j): if i<0 or j<0 or i>=row or j&原创 2021-11-05 17:31:35 · 200 阅读 · 0 评论 -
【Leetcode 专题四】二分法
一、框架总结总共四个框架1.1、第一种思路(正向思维)及框架**思想:假设元素在循环体,然后根据条件我们每次都搜索元素所在的那部分。**这种思路可以称其为正向思维,也就是我只关注目标在哪。这种思路有两种写法。1.1.1、第一种写法:假设target在一个闭区间[left, right]def BinarySearch(nums, target): # 异常判断(异常判断要具体情况具体分析 很多题目也可能不用) # if len(nums) == 0: return -1 # if targ原创 2021-11-14 16:36:14 · 368 阅读 · 0 评论 -
【Leetcode 专题五】数组和哈希表
一、前言二、解题思路和代码整理2.1、重建数组思想:把当前的数组看成一个空数组,然后用一个指针cur始终指向新数组的末尾(初始为0)。这种重建数组的思想非常适合那种顺序表中删除不符合条件的元素的题目,比如删除重复元素并且保证位置不变,删除负数并且保证位置不变,删除删除0元素并且保证位置不变等。其实这里的代码是用到了逆向思维的,比如删除0元素,那我就保留所以非零元素,同样就达到了删除0元素的目的。可以好好体会体会。Leetcode283. 移动零283. 移动零.class Solution:原创 2021-11-29 21:10:25 · 412 阅读 · 0 评论 -
【Leetcode 专题六】动态规划专题
目录一、一般问题系列1.1、题目汇总leetcode 509. 斐波那契数leetcode 70. 爬楼梯leetcode 343. 整数拆分leetcode 343. 整数拆分剑指 Offer 62. 圆圈中最后剩下的数字(约瑟夫环问题 难 地推公式没懂)二、背包系列三、打家劫舍系列四、股票问题系列五、子序列问题系列六、路径规划系列动态规划的核心就是最优化问题。核心是穷举。判断可不可以用动态规划:当前的状态取决于前一个时刻的状态。动态规划的特点:1、重叠子问题2、状态转移方程3、最优子结构原创 2022-03-21 19:24:43 · 658 阅读 · 0 评论