ARTS (第32周)
Algorithm 算法
验证二叉搜索树
leetcode.98
https://leetcode-cn.com/problems/validate-binary-search-tree/
给定一个二叉树,判断其是否是一个有效的二叉搜索树。
假设一个二叉搜索树具有如下特征:
节点的左子树只包含小于当前节点的数。
节点的右子树只包含大于当前节点的数。
所有左子树和右子树自身必须也是二叉搜索树。
示例 1:
输入:
2
/ \
1 3
输出: true
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/validate-binary-search-tree
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
解法:从跟节点验证到具体的每一个子节点
1 | /** |
在品论里看到的用户HaominYuan的一个答案
HaominYuan(https://leetcode-cn.com/u/kqysnjc/)
非常精巧的做法。有点像中序遍历,又有点像后序遍历。
在验证左节点的时候,只要判断左节点的值比当前节点小即可。
而验证右节点的时候,只要判断当前节点比右节点小即可。
这里利用的思路是last的值是在左节点验证成功后才改变值。
所以验证右节点的时候,last的值就是父节点的值。
(至于这里的last使用的是double类型,是因为这题的边界值的问题,这题的值里会出现INT_MIN(-2^31),用double保证正确性)
1 |
|
Review 英文文章
spring整合redis
https://spring.io/guides/gs/messaging-redis/
Tip 技巧
注解
1 | //自带的编译期的注解 |
类加载器
1 |
|
JVM的双亲委派
在加载一个类的时候,首先会在ClassLoader中检查是否加载,如果有那就无需再加载了。如果没有,那么会拿到父加载器,然后调用父加载器的loadClass方法,直到找到,但如果父加载器找不到就会交给子级去加载,如果一直到最底层的子级都找不到,就会触发ClassNotFoundException。
Share 分享
https://blog.csdn.net/yapengliu/article/details/80191699
Bootstrap Table API 中文版 说明文档