![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode
lia仔
这个作者很懒,什么都没留下…
展开
-
leetcode水题第九周+赛后反思
leetcode这周太多ddl,而且临近期末,各科"预习"压力较大,学习和做题的进度有些慢.(也没看到要写bfs,dfs)大致了解了哈希(弱鸡的我现在才学哈希),贪心还有温习了一下dp(就算几道股票题:含手续费,最佳时机)关于dfs,感觉所接触到的题用bfs,有一部分套路在内N叉树最大深度思路:二叉树的变式,与此前的二叉树最大深度差不多BFS:/** * Definition for a Node. * struct Node { * int val; * int原创 2020-12-19 22:44:16 · 105 阅读 · 3 评论 -
leetcode水题第八周
本周主要是bfs and dfs对于两者,个人感觉dfs理解起来并没有bfs那么直观dfs:沿着树,遍历树的节点,尽可能深的搜索树的分支。当节点n的所有子节点都己被探寻过,搜索将回溯到节点的n那条边的起始节点(感觉大多是用递归实现)bfs:沿着树,尽可能广的的搜索但是用程序实现起来个人感觉dfs会更简单,而bfs则有点麻烦(主要是我菜)dfs做法有最大最小深度二叉树最大深度思路:先递归找到左右子树叶子节点,然后逐层返回并比较左右子树层数的多少int max(int a,int b) {原创 2020-12-12 01:08:02 · 149 阅读 · 0 评论 -
leetcode水题第七周
本周主要是dp+链表(学校课程的进度所以也写一下)用dp写了两题:乘积最大子数组思路:与求最大和相似但是遇到负数元素会比较麻烦。若单是算最大值,则遇到负数的时候此前计算出的最大值就变为最小值,此时若单纯将这个最大值抛掉,遇到[3,2,-2,1,-3]这类情况时就会出错,因此需要一个min来保存,遇到负数的时候min与max交换(负数的min乘上负数就为max)(?int MAX(int a,int b){ return (a>b)?a:b;}int MIN(int a,int b原创 2020-12-05 14:38:05 · 93 阅读 · 1 评论 -
leetcode水题第六周
主要是初步了解了一下动态规划,主要是内容大概是subproblem+reuse/避免重复求相同解+求最优解…做了几道,并把以前做过的可以用dp的题又试了一遍,感觉懂个大概,但要说完全理解并熟练运用,还是差了点...原创 2020-11-27 23:21:50 · 77 阅读 · 0 评论 -
leetcode水题第5周
做了两道bst的题巩固了一下下最小距离int n;void buildarr(struct TreeNode* root,int arr[]){ if(root){ buildarr(root->left,arr); arr[n++] = root->val; buildarr(root->right,arr); }}int Min(int a,int b){ if(a>b) return b; .原创 2020-11-19 19:23:11 · 70 阅读 · 0 评论 -
leetcode水题第4周
第一题给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。题目/** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */ struct TreeNode*原创 2020-11-14 18:25:23 · 90 阅读 · 0 评论 -
leetcode水题第三周
队列与栈题目:用队列实现栈使用队列实现栈的下列操作:push(x) – 元素 x 入栈pop() – 移除栈顶元素top() – 获取栈顶元素empty() – 返回栈是否为空typedef struct { int queue[1000]; int top;} MyStack;/** Initialize your data structure here. */MyStack* myStackCreate() { MyStack *newstack原创 2020-11-03 22:23:20 · 131 阅读 · 1 评论