09 2021 档案

摘要:1.HashMap中的键值对就是通过Node实现的。数组中存放的是Node 2.位运算得看一看 3.类由:字段,方法。构造方法组成 对象由:属性,方法组成 阅读全文
posted @ 2021-09-18 02:29 midiyu 编辑
摘要:一,算法刷题的框架思维 1.数据结构基本操作:查增删改,遍历 遍历:线性:for/while遍历(数组,链表),非线性:递归遍历(链表,二叉树) 2.二叉树是最容易培养框架思维的,而且大部分算法技巧,本质上都是树的遍历问题 所以二叉树的遍历非常重要,尤其递归遍历(回溯,动规,分治,只要涉及到递归的问 阅读全文
posted @ 2021-09-17 21:43 midiyu 编辑
摘要:1.想象一下结构 2. 3. 阅读全文
posted @ 2021-09-12 17:35 midiyu 编辑
摘要:1.String 中的对象是不可变的,也就可以理解为常量,线程安全 2.Java 中 IO 流分为⼏种?按照流的流向分,可以分为输⼊流和输出流;按照操作单元划分,可以划分为字节流和字符流;按照流的⻆⾊划分为节点流和处理流 3.深拷贝,浅拷贝 4.当链表⻓度⼤于阈值(默认为 8)(将链表转换成红⿊树前 阅读全文
posted @ 2021-09-11 22:33 midiyu 编辑
摘要:1.上下文切换:是指CPU从一个线程切换到另一个线程 2.volatile:volatile关键字能够保证内存的可见性,如果用volatile关键字声明了一个变量,在一个线程里面改变了这个变量的值那么其他线程是立马可见更改后的值的 volatile 变量需要进⾏原⼦操作。 signal++ 并不是⼀ 阅读全文
posted @ 2021-09-11 20:21 midiyu 编辑
摘要:1. JDK 5.0 起提供了线程池相关API:ExecutorService 和 ExecutorsExecutorService:真正的线程池接口。常见子类ThreadPoolExecutor.void execute(Runnable coommand):执行任务/命令,没有返回值,一般用来执 阅读全文
posted @ 2021-09-11 17:59 midiyu 编辑
摘要:四.动态规划 代码随想录内容: 1.动态规划当前状态是由前面状态推导而来的,而贪心是局部直接选最优的 存在递推关系(存在状态转移),也就是当前状态是由前面状态推导而来的。可以使用动态规划 2.动态规划的解题步骤:(dp数组,状态转移公式,初始化,遍历顺序,举例子)(动规五部曲,类似前面的递归三部曲, 阅读全文
posted @ 2021-09-10 22:46 midiyu 编辑
摘要:1.局部最优,则全局最优 2.贪心没有套路,说白了就是常识性推导加上举反例 3.先想清楚局部最优,再想清楚全局最优 4.Arrays.binarySearch(arr, begin, end, key) 前包后不包 Arrays.equals(arr1,arr2) 判断两个数组是否相等。可以判断基本 阅读全文
posted @ 2021-09-10 11:07 midiyu 编辑
摘要:1.二叉树的一些概念:深度,高度。。。 2.熟记基础代码 二叉树遍历,二叉堆(上浮,下沉,构建堆),优先级队列 后续非递归遍历比较特殊, 优先级队列的实现要会 3.二叉树 (1)满二叉树 这棵二叉树为满二叉树,也可以说深度为k,有2^k-1个节点的二叉树 (2)完全二叉树 (3)二叉查找树:二叉查找 阅读全文
posted @ 2021-09-09 13:07 midiyu 编辑
摘要:1.LinkedList可以实现stack,queue,deque 关于deque,java中有专门的接口,可以看一下。。。 2.括号匹配是使用栈解决的经典问题。由于栈结构的特殊性,非常适合做对称匹配类的题目。 3.List都有toArray()方法,Queue都有toArray方法 阅读全文
posted @ 2021-09-07 20:26 midiyu 编辑
摘要:1.replace(oldstr,newstr)和replaceAll(regex,newstr)功能一样,但前者效率更高 区别:replaceAll的第一个参数支持正则表达式 2.算法题中除了String的方法要熟悉,StringBuilder也很常用,方法也要熟悉 3.双指针法是字符串处理的常客 阅读全文
posted @ 2021-09-05 11:53 midiyu 编辑
摘要:1.Lambda表达式就是一个匿名内部类。就是一个匿名内部类或者说是函数式接口中方法的具体实现 (o1,o2)->{ } 只有一个参数,()可以省略。方法实现只有一句,{ }可以省略 2.Comparator接口中compare(o1,o2)方法 如果:o1 > o2 return 正数 换句话说, 阅读全文
posted @ 2021-09-05 09:30 midiyu 编辑
摘要:字符串 阅读全文
posted @ 2021-09-04 20:55 midiyu 编辑
摘要:1.设置虚拟头节点(dummy)的作用 链表分为:空链表和非空链表 头结点比较特殊:没有前一个指针指向头结点(没有前一个节点) 设置了虚拟头结点,那么对于头结点上的操作就比较方便了 (1)有些操作,对于只有一个节点的链表和对于有多个节点的链表是不一样的 (2)对于非空链表来说,有些操作在首节点和在其 阅读全文
posted @ 2021-09-03 20:14 midiyu 编辑
摘要:数组 阅读全文
posted @ 2021-09-03 11:03 midiyu 编辑
摘要:二分查找: 1.(left+right)/2等价于(right-left)/2+left 移位运算符:>> 和 >>> 2.两种写法:while(left <= right) 左闭右闭区间 while(left < right) 左闭右开区间 写二分法,区间的定义一般为两种,左闭右闭即[left, 阅读全文
posted @ 2021-09-02 11:55 midiyu 编辑

点击右上角即可分享
微信分享提示