摘要: [Algo] 滑动窗口 1. 长度最小的子数组 // 1. 长度最小的子数组 // https://leetcode.cn/problems/minimum-size-subarray-sum/description/ int minSubArrayLen(int target, vector<in 阅读全文
posted @ 2024-12-22 14:33 yaoguyuan 阅读(2) 评论(0) 推荐(0) 编辑
摘要: [Algo] 二维前缀和&二维差分 1. 最大的以1为边界的正方形 // 1. 最大的以1为边界的正方形 // https://leetcode.cn/problems/largest-1-bordered-square/description/ int get(vector<vector<int> 阅读全文
posted @ 2024-12-22 14:33 yaoguyuan 阅读(2) 评论(0) 推荐(0) 编辑
摘要: [Algo] 前缀和 1. 求arr所有子数组中累加和为aim的最长子数组长度 // 1. 求arr所有子数组中累加和为aim的最长子数组长度 // https://www.nowcoder.com/practice/36fb0fd3c656480c92b569258a1223d5 int f1(v 阅读全文
posted @ 2024-12-20 15:14 yaoguyuan 阅读(1) 评论(0) 推荐(0) 编辑
摘要: [Algo] 前缀树 1. 静态数组实现前缀树 // 静态数组实现前缀树 int cnt = 0; int tree[MAX + 1][26]; int pass[MAX + 1]; int End[MAX + 1]; void build() { cnt = 1; } void clear() { 阅读全文
posted @ 2024-12-20 15:14 yaoguyuan 阅读(4) 评论(0) 推荐(0) 编辑
摘要: [Algo] 二叉树常见题目2 1. 最近公共祖先LCA BinaryTreeNode *LCA(BinaryTreeNode *root, BinaryTreeNode *a, BinaryTreeNode *b) { if (root == nullptr || root == a || roo 阅读全文
posted @ 2024-12-15 14:53 yaoguyuan 阅读(3) 评论(0) 推荐(0) 编辑
摘要: [Algo] 二叉树常见题目 1. 层序遍历 // 1. 层序遍历 void BFS(BinaryTreeNode *root) { queue<BinaryTreeNode *> q; vector<BinaryTreeNode *> v; q.push(root); while (!q.empt 阅读全文
posted @ 2024-12-14 20:17 yaoguyuan 阅读(8) 评论(0) 推荐(0) 编辑
摘要: [Algo] 链表操作2 1. 两个链表的交点 ListNode *intersectionNode(ListNode *head1, ListNode *head2) { if (head1 == nullptr || head2 == nullptr) return nullptr; ListN 阅读全文
posted @ 2024-12-13 16:43 yaoguyuan 阅读(3) 评论(0) 推荐(0) 编辑
摘要: [Algo] 位运算 1. 出现奇数次的数① // 1. 一个数组中,只有一种数A出现过奇数次,其余数都出现过偶数次,问A? int oddNumber(const vector<int> &v) { int eor = 0; for (const auto &e : v) eor ^= e; re 阅读全文
posted @ 2024-12-09 15:44 yaoguyuan 阅读(4) 评论(0) 推荐(0) 编辑
摘要: [Algo] 堆结构 1. 经典堆结构 // 1. 经典堆结构(大根堆) void heapInsert(vector<int> &v, int size, int val) { v[size] = val; int cur = size; while (v[cur] > v[(cur - 1) / 阅读全文
posted @ 2024-12-08 13:02 yaoguyuan 阅读(2) 评论(0) 推荐(0) 编辑
摘要: [Algo] 快速排序 1. 经典随机快排 // 1. 经典随机快排 void swapByIndex(vector<int> &v, int x, int y) { int tmp = v[x]; v[x] = v[y]; v[y] = tmp; } pair<int, int> partitio 阅读全文
posted @ 2024-12-07 13:53 yaoguyuan 阅读(6) 评论(0) 推荐(0) 编辑