月度归档: 2020年11月

4 篇文章

剑指 Offer 16. 数值的整数次方
1. 要点 这道题一看就是考优化,尝试了很多次才过了,要点的话,就是用数组存结果时(打表),创建的数组太大,空间要求过不了,并且没有充分利用这个数组,很多元素都是空的.想了想这个数组的使用场景,用下标获取结果,那不就是Map嘛,要多大,就用多大,这下就不会浪费空间了 2. 题目 实现函数double Power(double base, int e…
thumbnail
LeetCode99. 恢复二叉搜索树
1. 要点 二叉搜索树的特点:中序遍历结果递增,可用来做验证 复习下中序遍历(太久没写,写成前后序遍历的先push去了) 2. 题目 给你二叉搜索树的根节点 root ,该树中的两个节点被错误地交换。请在不改变其结构的情况下,恢复这棵树。 进阶:使用 O(n) 空间复杂度的解法很容易实现。你能想出一个只使用常数空间的解决方案吗? 3. 示例 1: …
thumbnail
动态代理+读写锁实现线程安全的HashMap缓存工具类
背景 jdk1.8之前是没有线程安全的集合工具类,例如currentHashMap,那怎样实现高效、线程安全的集合工具类呢? 可以利用读写锁实现线程安全,动态代理帮助集合作为工具类,产生更多的使用场景,例如缓存 代码 1. 创建缓存基类和子类 基类里的读写锁 private ReadWriteLock readWriteLock = new Ree…