- 博客(27)
- 收藏
- 关注
原创 代码随想录算法训练营第二十九天
这题相较于90.子集2相比,本题求自增子序列,是不能对原数组进行排序的,排完序的数组都是自增子序列了,所以不能用90.子集2的去重逻辑。 因此本题需要采用哈希表进行去重。
2023-04-12 13:04:58
128
原创 代码随想录算法训练营第二十三天
和654.最大二叉树有点类似,根节点取数组中间节点,然后向下递归对应左右区间来构造二叉树,按照这样的逻辑,构造出来的二叉树自然就是平衡二叉树。 理解好题目的意思,按右中左的顺序挨个遍历累加就好了。
2023-04-07 16:18:13
44
原创 代码随想录算法训练营第二十一天
二叉搜索树是有序的,可以将二叉搜索树转换成有序数组,然后遍历数组来统计最小差值。 而采用双指针法的话,中序遍历一遍数组也能统计出最小差值。
2023-04-06 14:43:54
44
原创 代码随想录算法训练营第十八天
采用递归法,很容易想到采用前序遍历的方式求深度而不是高度,当深度最大的时候,返回节点的值,由于采用的是前序遍历,访问的第一个最大深度的节点一定是最左边的一个。
2023-04-05 12:27:21
42
原创 代码随想录算法训练营第十六天
考虑完全二叉树的情况,满二叉树的节点个数为2^k,如果整个树不是满二叉树,就递归其左右孩子,直到遇到满二叉树为止,用公式计算这个子树(满二叉树)的节点数量。在完全二叉树中,如果递归向左遍历的深度等于递归向右遍历的深度,那说明就是满二叉树。 **求二叉树的最小深度和求二叉树的最大深度的差别主要在于处理左右孩子不为空的逻辑。**需要左右孩子都不为空的时候,才比较选取最小值。
2023-03-31 15:31:15
46
原创 代码随想录算法训练营第十一天
代码随想录算法训练营第十一天一、20. 有效的括号 该题利用栈来对比消除元素,但要仔细考虑题目中可能会出现的情况才能写出题解。class Solution {public: bool isValid(string s) { if(s.size() % 2 != 0) return false; stack<char> st; for(int i = 0; i < s.size(); i++){ i
2023-03-27 22:18:22
52
原创 代码随想录第九天
这题首先没有发现这个规律,发现了KMP的next数组从存在不为0的下标之后的值对应都加一这个规律,尝试用一个规律做了一下题解,发现仍然会存在漏洞。KMP算法仍然不够熟悉!
2023-03-27 20:30:26
48
原创 代码随想录算法训练营第六天242.有效的字母异位词、349.两个数组的交集 、202.快乐数、1.两数之和
今天学习的内容是新的一个数据结构,题目都不是很难,但是对哈希表的操作上不够了解,明天二刷一遍加深印象和了解。抓紧时间把C++语法书跟上!
2023-03-20 14:27:29
586
原创 代码随想录算法训练营第三天 203.移除链表元素、707.设计链表、206.反转链表
代码随想录算法训练营第三天|| 203.移除链表元素、707.设计链表、206.反转链表
2023-03-19 17:50:30
713
原创 代码随想录算法训练营第一天 704. 二分查找、27. 移除元素
重要的是对于边界的判断和处理,对于边界的处理应该让最开始定义的区间保持一致。其次是对不同情况下的边界应该怎么处理继续练习和考虑。 第一次写博客,有些想法还是不能只在脑海里想,必须把它理顺转化为文字才能进一步理解掌握,每天写文字的习惯必须保持下去,包括做科研也是。虽然这些题目之前做过一遍,但是理解仍然不透彻,需要进一步深化。今天时间有点赶,额外题目周末补充进去。
2023-03-15 17:38:08
1490
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人