算法-滑动窗口

[209. 长度最小的子数组](https://leetcode.cn/problems/minimum-size-subarray-sum/) 给定一个含有 `n` 个正整数的数组和一个正整数 `target` **。** 找出该数组中满足其总和大于等于 `target` 的长度最小的 **连续** **子数组**  `[numsl, numsl+1, ..., numsr-1,

- 阅读全文 -

算法: 双指针

## 1. 利用元素集合的有序性质 [LeetCode: 167. 两数之和 II - 输入有序数组](https://leetcode.cn/problems/two-sum-ii-input-array-is-sorted/description/) [灵茶山艾府: 两数之和 三数之和【基础算法精讲 01】](https://www.bilibili.com/video/BV1bP411c

- 阅读全文 -

算法-动态规划

### 97.交错字符串 给定三个字符串 s1、s2、s3,请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。 两个字符串 s 和 t 交错 的定义与过程如下,其中每个字符串都会被分割成若干 非空 子字符串 - `s = s1 + s2 + ... + sn` - `t = t1 + t2 + ... + tm` - `|n - m| 注意:a + b

- 阅读全文 -

算法-排序 快速排序

## 快速排序 快排利用了分治的思想 每轮排序都将首位设置为基准元素 (这里假设为X) 保证 X 所在的位置前后都是非逆序的 完成上述的操作的同时, X所在的位置为排序的最终位置 最后将该序列划分为两个子区间: `[ 小于X的 ]` X ` [ 大于X的 ]` 之后对前后两个子区间同样进行一次快速排序 循环执行下去直到最终分隔的子区间不能再分隔即完成排序.

- 阅读全文 -

算法-分治 23. 合并 K 个升序链表

[LeetCode-23. 合并 K 个升序链表](https://leetcode.cn/problems/merge-k-sorted-lists/description/?envType=study-plan-v2&envId=top-interview-150 "LeetCode-23. 合并 K 个升序链表") 23. 合并 K 个升序链表 给你一个链表数组,每个链表都已经按

- 阅读全文 -