-
LeetCode刷题笔记:数组&双指针
双指针双指针算法是一类用2个指针遍历数组或链表的算法,通常用来解决在数据中进行搜索、排序、匹配的问题。 同向双指针同向双指针也可叫快慢双指针,一般慢指针每次移动一步,快指针则移动两步或更多步。 一般用来解决链表问题。 用在数组中,可以解决有序数组... -
LeetCode刷题笔记: 回溯&贪心&动态规划
回溯就是暴力穷举,是一种搜索方式,其核心思想是从一个初始状态出发,深度优先搜索遍历所有可能的解决方案(解空间),如果确定某种方案不可行就回溯到上一步重新搜索。一般用来解决组合问题(无序)、子集问题(无序)、排列问题(有序)、字符串切割问题、棋盘问题等。
贪心算法的思想是在每个决策阶段,选择局部最优解,以此获取全局最优解。
动态规划
-
LeetCode刷题笔记:栈&单调栈&单调队列
栈是一种「先进后出」的数据结构。单调栈是一种特殊的栈,在满足「先进后出」规则基础上,同时满足「从栈底到栈顶的元素单调递增/减」,因此也分为单调递增栈,单调递减栈。
单调栈用来解决下一个更大/小元素、上一个更大/小元素这一类的典型问题。比如739. 每日温度,84. 柱状图中最大的矩形,42. 接雨水都是这类问题。
队列是一种「先进先出」的数据结构。单调队列是一种特殊的队列,在满足「先进先出」规则基础上,同时满足「从队首到队尾的元素单调递增/减」。
单调队列用来解决滑动窗口内的最大/小值、中位数的动态查询这一类问题。比如239. 滑动窗口最大值。
-
GitHub Actions & Docker实现自动化部署
关于使用GitHub Actions 和 Docker部署SpringBoot后端项目。
-
GitHub Pages & Hexo 搭建博客
关于如何使用GitHub Pages和Hexo搭建个人博客并进行写作(使用Keep主题)。
-
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, yo...
I hid from him, and under running laughter.|