随笔分类 -  2018~2022归档 / LeetCode

摘要:回溯算法的定义: 在包含问题的所有解的解空间树中,按照深度优先的策略,从根结点出发搜索解空间树。算法搜索至解空间树的任一结点时,总是先判断该结点是否肯定不包含问题的解。如果肯定不包含,则跳过对以该结点为根的子树的系统搜索,逐层向其祖先结点回溯。否则,进入该子树,继续按深度优先的策略进行搜索。回溯法在 阅读全文
posted @ 2020-09-15 22:31 CofJus 阅读(1380) 评论(0) 推荐(0)
摘要:剑指Offer中的动态规划除了一题hard(正则表达式匹配)都比较简单,要是面试只考到这种程度就好了... 连续子数组的最大和 这道题可以作为线性dp的模板。 用dp[i]表示以元素nums[i]为结尾的连续子数组最大和。 当以nums[i-1]为结尾的数组和(dp[i-1])大于0,对于以nums 阅读全文
posted @ 2020-07-31 21:35 CofJus 阅读(217) 评论(0) 推荐(0)
摘要:题目链接 1.并查集 赤裸裸的并查集,做这道题就是冲着并查集去的。 按秩求并+路径压缩,维护一个count表示不相交集合森林里树的棵数 class Solution { public: int *pre; int findCircleNum(vector<vector<int>>&M) { int 阅读全文
posted @ 2020-07-05 09:57 CofJus 阅读(225) 评论(0) 推荐(0)
摘要:1470. 重新排列数组 时间O(N) 空间O(N) class Solution { public: vector<int> shuffle(vector<int>& nums, int n) { vector<int> res; int i=0; int j=n; for(i=0;i<n;++i 阅读全文
posted @ 2020-06-08 15:21 CofJus 阅读(135) 评论(0) 推荐(0)
摘要:5424. 数组中两元素的最大乘积 理解错误,无脑暴力了一发居然过了 class Solution { public: int maxProduct(vector<int>& nums) { int res=0; for(int i=0;i<nums.size()-1;++i) { for(int 阅读全文
posted @ 2020-05-31 17:24 CofJus 阅读(149) 评论(0) 推荐(0)
摘要:LeetCode 1137 第 N 个泰波那契数 递归tag,类似斐波那契,递归解法很简洁 1 class Solution { 2 public: 3 int tribonacci(int n) { 4 if(0==n) 5 return 0; 6 else if(1==n) 7 return 1 阅读全文
posted @ 2020-05-24 22:48 CofJus 阅读(153) 评论(0) 推荐(0)
摘要:快慢指针:双指针的一种。在链表中设置两个指针,不同步地遍历链表。可以在两个指针之间制造我们需要的距离。 LeetCode 141 环形链表 easy 题面纯属为了测试时修改样例用,只要按判断链表中是否存在环做就行了。 思路一:Hash 最容易想到的思路应该是哈希法,每当一个链表被访问过了,就把它记录 阅读全文
posted @ 2019-12-09 22:35 CofJus 阅读(372) 评论(0) 推荐(0)
摘要:LeetCode树模板 TreeNode 先序遍历 层序遍历 中序遍历 LeetCode 100 相同的树 这种递归形式几乎算是树的基本模板,三条件并列的尾递归。 LeetCode 101 对称二叉树 先序遍历一次左子树,交换先序遍历的左右子节点顺序遍历一次右子树,比较两次遍历得到的序列。 用不可能 阅读全文
posted @ 2019-09-27 22:16 CofJus 阅读(142) 评论(0) 推荐(0)
摘要:Wikipedia关于原地算法的描述:原地算法(in-place algorithm)基本上不需要额外辅助的数据结构,然而,允许少量额外的辅助变量来转换数据的算法。当算法运行时,输入的数据通常会被要输出的部分覆盖掉。 很容易看出,原地算法的特点是不需要辅助的数据结构而只需要辅助变量。通常,维护一个复 阅读全文
posted @ 2019-08-20 22:48 CofJus 阅读(597) 评论(0) 推荐(0)
摘要:相关数据结构:树 相关算法:递归 || 深度优先搜索+回溯法+中序遍历 LeetCode 46 给定一个没有重复数字的序列,返回其所有可能的全排列。 示例: DFS回溯法:全排列要求序列中的元素不被重复使用,而从根节点开始遍历一棵树正好能得到所有元素的所有排列方式。 构建一棵树将所有元素存储进去再进 阅读全文
posted @ 2019-03-12 19:58 CofJus 阅读(227) 评论(0) 推荐(0)