03 2021 档案
摘要:前置: 数据结构: 栈 ,先进后出 (一) 题目 给出一个仅包含字符'(',')','{','}','['和']',的字符串,判断给出的字符串是否是合法的括号序列 括号必须以正确的顺序关闭,"()"和"()[]{}"都是合法的括号序列,但"(]"和"([)]"不合法。 (二)代码 天下算法,唯背不破
阅读全文
摘要:(一) 为什么使用线程池 1 降低资源消耗,提高线程利用率,降低创建和销毁线程的消耗 2 提高响应速度,任务来了,直接有线程可用可执行,而不是创建线程,在执行 (二) 线程池参数 1 corePoolSize : 代表的是核心线程数,也就是正常情况下创建工作的线程数,表示最大允许被创建的线程数, 比
阅读全文
摘要:(一) 串行 串行在时间上不可能发生重叠,前一个任务没搞定,下一个任务就只能等着。 (二) 并行 并行在时间上是重叠的,两个任务在同一时刻互不干扰的同时执行 (三) 并发 并发允许两个任务彼此干扰,同一时间点,只有一个任务运行,交替执行 基本概念
阅读全文
摘要:TheadLocal 内存泄漏的根源是: 由于ThreadLocalMap的生命周期跟Thread一样长, 如果没有手动删除对应的key就会导致内存泄漏,而不是因为弱引用 (一) ThreadLocalMap的 key 为 ThreadLocal =》弱引用 (二) ThreadLocal正确的使用
阅读全文
摘要:思想: 遍历链表的同时,让前一个节点的next 指向head(或者是任意一个指定的内存) 在后续的遍历中,如果有节点的当前next指向了head,则说明有环 (一) 代码 -- 双指针 最优解 (二)利用 SET无重复 时间复杂度 O(n) 到底如何
阅读全文
摘要:思想: 两个数比较大小,较大的数下沉,较小的数冒起来。 (一)代码 /** * 优化的冒泡排序 : * 思想:两个数比较大小,较大的数下沉,较小的数冒起来。 */ public class BubbleSort { public static void main(String[] args) { i
阅读全文
摘要:快速排序算法 思想:它的基本思想主要是通过一趟排序将待排记录分隔成独立的两部分, 其中的一部分比关键字小,后面一部分比关键字大, 然后再对这前后的两部分分别采用这种方式进行排序,通过递归的运算最终达到整个序列有序。 时间复杂度: 在平均状况下,排序 n 个项目要 Ο(nlogn) 次比较。在最坏状况
阅读全文
摘要:从下往上遍历,如果子树是平衡二叉树,则返回子树的高度 如果发现子树不是平衡二叉树,则直接停止遍历,这样至多对每个节点访问一次 (一)思路 very much
阅读全文
摘要:思想 : 指针切换 =》 循环 1 => 2 => 3 => 4 1 <= 2 <= 3 <= 4 (一) ac 代码 努力把 ,时间不多
阅读全文

浙公网安备 33010602011771号