面试经典150题 P918 环形子数组的最大和
动态规划, Kadane算法
面试经典150题 P53 最大子数组和
动态规划, Kadane算法
面试经典150题 P148 排序链表
分治, 归并排序
面试经典150题 P108 将有序数组转换为二叉搜索树
分治, BST
面试经典150题 P79 单词搜索
时间轴 2025-11-30 init 题目:P79 单词搜索https://leetcode.cn/problems/word-search/description/?envType=study-plan-v2&envId=top-interview-150 回溯,遍历每个起点,注意访问过的要在board做标记以防重复访问。 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061#include <vector>#include <string>using std::vector;using std::string;const int next_offset[4][2] = { { -1, 0 }, { 0, -1 }, { 1, 0 }, { 0, 1 } };class...
面试经典150题 P22 括号生成
时间轴 2025-11-30 init 题目:P22 括号生成https://leetcode.cn/problems/generate-parentheses/?envType=study-plan-v2&envId=top-interview-150 暴力回溯方法,最后去重123456789101112131415161718192021222324252627282930313233343536#include <vector>#include <string>#include <algorithm>using std::string;using std::vector;#define PARENTHESE "()"class Solution { private: void backtrace(string &track, vector<string> &res, int n) { if (track.size() == n * 2)...
面试经典150题 P52 N皇后 II
时间轴 2025-11-30 init 题目:P52 N皇后 IIhttps://leetcode.cn/problems/n-queens-ii/description/?envType=study-plan-v2&envId=top-interview-150 经典回溯问题,考虑每一行只能且必须放一个皇后,然后每次回溯考虑下一行放哪里。注意标记能被攻击的区域时要-1而不是赋值为-1。这是避免两个皇后可以同时攻击一个区域。 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475#include <vector>using std::vector;class Solution { private: int cnt; void backtrace(vector<vector<int> >...
面试经典150题 P39 组合总和
时间轴 2025-11-29 init 题目:P39 组合总和https://leetcode.cn/problems/combination-sum/description/?envType=study-plan-v2&envId=top-interview-150 回溯,注意start,因为可以用重复数字,所以backtrace用i作为下一个start. 123456789101112131415161718192021222324252627282930313233343536#include <vector>#include <algorithm>using std::vector;class Solution { private: vector<vector<int> > res; void backtrace(vector<int> &path, vector<int> &candidates, int start, int...



