面试经典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 }...
面试经典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题 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...
面试经典150题 P46 全排列
时间轴 2025-11-29 init 题目: P46 全排列https://leetcode.cn/problems/permutations/description/?envType=study-plan-v2&envId=top-interview-150 全排列回溯: 1234567891011121314151617181920212223242526272829303132333435#include <vector>#include <unordered_set>using std::vector;using std::unordered_set;class Solution { private: void backtrace(vector<vector<int> > &res, vector<int> &track, unordered_set<int> &tset, vector<int>...
面试经典150题 P70 爬楼梯
动态规划
