
LeetCode
文章平均质量分 94
夏安
这个作者很懒,什么都没留下…
展开
-
《剑指 Offer (第 2 版)》数组部分 JavaScript 题解
《剑指 Offer (第 2 版)》数组部分 JavaScript 题解《剑指 Offer (第 2 版)》数组部分 JavaScript 题解03. 数组中重复的数字04. 二维数组中的查找07. 重建二叉树11. 旋转数组的最小数字12. 矩阵中的路径17. 打印从1到最大的n位数21. 调整数组顺序使奇数位于偶数前面29. 顺时针打印矩阵31. 栈的压入、弹出序列39. 数组中出现次数超过一半的数字40. 最小的k个数42. 连续子数组的最大和47. 礼物的最大价值《剑指 Offer (第 2 版)原创 2022-03-09 19:07:40 · 892 阅读 · 0 评论 -
《剑指 Offer (第 2 版)》队列部分 JavaScript 题解
《剑指 Offer (第 2 版)》队列部分 JavaScript 题解《剑指 Offer (第 2 版)》队列部分 JavaScript 题解09. 用两个栈实现队列50. 第一个只出现一次的字符9 - I. 滑动窗口的最大值59 - II. 队列的最大值《剑指 Offer (第 2 版)》队列部分 JavaScript 题解《剑指 Offer(第 2 版)》通行全球的程序员经典面试秘籍。剖析典型的编程面试题,系统整理基础知识、代码质量、解题思路、优化效率和综合能力这 5 个面试要点。最近,把队列部原创 2022-03-02 11:10:38 · 120 阅读 · 0 评论 -
《剑指 Offer (第 2 版)》树部分 JavaScript 题解
剑指 Offer (第 2 版)》树部分 JavaScript 题解剑指 Offer (第 2 版)》树部分 JavaScript 题解07. 重建二叉树26. 树的子结构27. 二叉树的镜像28. 对称的二叉树32 - II. 从上到下打印二叉树 II32 - III. 从上到下打印二叉树 III33. 二叉搜索树的后序遍历序列34. 二叉树中和为某一值的路径36. 二叉搜索树与双向链表54. 二叉搜索树的第k大节点55 - I. 二叉树的深度55 - II. 平衡二叉树68 - I. 二叉搜索树的最近公原创 2022-03-01 14:47:55 · 598 阅读 · 0 评论 -
《剑指 Offer (第 2 版)》栈部分 JavaScript 题解
《剑指 Offer (第 2 版)》栈部分 JavaScript 题解《剑指 Offer (第 2 版)》栈部分 JavaScript 题解06. 从尾到头打印链表09. 用两个栈实现队列30. 包含min函数的栈31. 栈的压入、弹出序列33. 二叉搜索树的后序遍历序列36. 二叉搜索树与双向链表《剑指 Offer (第 2 版)》栈部分 JavaScript 题解《剑指 Offer(第 2 版)》通行全球的程序员经典面试秘籍。剖析典型的编程面试题,系统整理基础知识、代码质量、解题思路、优化效率和综合原创 2022-02-26 12:34:49 · 202 阅读 · 0 评论 -
《剑指 Offer (第 2 版)》链表部分 JavaScript 题解
《剑指 Offer (第 2 版)》链表部分 JavaScript 题解《剑指 Offer (第 2 版)》链表部分 JavaScript 题解06. 从尾到头打印链表18. 删除链表的节点22. 链表中倒数第k个节点24. 反转链表25. 合并两个排序的链表35. 复杂链表的复制36. 二叉搜索树与双向链表52. 两个链表的第一个公共节点《剑指 Offer (第 2 版)》链表部分 JavaScript 题解《剑指 Offer(第 2 版)》通行全球的程序员经典面试秘籍。剖析典型的编程面试题,系统整理原创 2022-02-25 15:48:12 · 193 阅读 · 0 评论 -
Leetcode 课程表 C++ 图的深度搜索和广度搜索练习
广度搜索(degree)struct GraphNode{ int label; vector<GraphNode*> neighbours; GraphNode(int x):label(x){};};class Solution {public: bool canFinish(int numCourses, vector<vector<int>>& prerequisites) { vector<G原创 2020-05-20 19:45:58 · 226 阅读 · 0 评论 -
LeetCode 199. 二叉树的右视图 C++ 用时超100%
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: vector<int> rightSideView原创 2020-05-15 10:37:06 · 159 阅读 · 0 评论 -
LeetCode 114. 二叉树展开为链表 C++
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} *原创 2020-05-14 17:49:53 · 161 阅读 · 0 评论 -
LeetCode 113. 路径总和 II C++
提交结果:内存超100%,用时超69%/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: vector<v原创 2020-05-13 10:05:30 · 128 阅读 · 0 评论 -
LeetCode 22. 括号生成 C++(回溯法)
还是用回溯法暴力解题,遍历所有可能,不过还是在此基础上进行了一些的优化,来阻止那些不必要的遍历。好,上代码。class Solution {public: vector<string> generateParenthesis(int n) { vector<string> result; CreatStr( n, result,"",0,0); return result; } void原创 2020-05-12 16:29:03 · 278 阅读 · 0 评论 -
LeetCode 78. 子集 C++(位运算和回溯法)
位运算class Solution {public: vector<vector<int>> subsets(vector<int>& nums) { vector<vector<int>> result; int max_num = 1 << nums.size(); for (int i = 0 ; i < max_num;i++){原创 2020-05-12 15:36:26 · 183 阅读 · 0 评论 -
LeetCode -90. 子集 II C++ (回溯法)
class Solution {public: vector<vector<int>> subsetsWithDup(vector<int>& nums) { vector<vector<int> > result; vector<int> item; set<vector<int> > rset; result.push_back(item);原创 2020-05-12 15:32:52 · 192 阅读 · 0 评论 -
LeetCode-40. 组合总和 II C++(回溯法)
LeetCode-90. 子集 II C++(回溯法)回溯法本身是种暴力解法,虽然效率之类的比较低,但是写起来比较易懂和快。在提交之后的排名也挺低的,大概就超过8%左右。以后复习的时候再去看看题解,看看更高性能的算法。这里先暂时贴上回溯法的代码。最后说一句,如果只是简单的用回溯法,不做优化,即使是LeetCode还是会超时,毕竟是O(2N)的复杂度,所以这里利用题干给的target,进行简单的拆分。(注释虽然没有。。。但应该还是能懂,以后再加)class Solution {public:原创 2020-05-12 15:25:58 · 274 阅读 · 1 评论