摘要:
一.Tomcat相关 1.Tomcat安装目录:H:\DevelopTools\apache-tomcat-9.0.27 jdk安装目录:H:\Program Files\Java\jdk-9.0.4 2.JAVA_HOME也已经配置好了 二.idea创建web项目+配置Tomcat 阅读全文
摘要:
1.Collection的删除方法都有一个:boolean remove(e)方法。这个方法e的类型为Object类型 2.Integer.compare(o1,o2)方法,可以比较大小 3.String和StringBuilder的方法还得再熟悉熟悉 4.得到数字每个数位上的数的模板还得再总结一下 阅读全文
摘要:
一.二分搜索 1.二分查找的本质是:二段性。要想清楚二分成哪两段。[left,mid],[mid+1,right] 或者 [left,mid-1],[mid,right] 2.关于宫水二分查找模板的写法 可以看看这个题解,和她的写法一样,更加详细 N34在排序数组中查找元素的第一个位置和最后一个位置 阅读全文
摘要:
一,算法刷题的框架思维 1.数据结构基本操作:查增删改,遍历 遍历:线性:for/while遍历(数组,链表),非线性:递归遍历(链表,二叉树) 2.二叉树是最容易培养框架思维的,而且大部分算法技巧,本质上都是树的遍历问题 所以二叉树的遍历非常重要,尤其递归遍历(回溯,动规,分治,只要涉及到递归的问 阅读全文
摘要:
二.设计数据结构 1.LFU (1)LinkedHashMap,LinkedHashSet。使得链表拥有了随机访问的功能(数组具有随机访问的特点) (2)LFU算法中可以自顶向下编程,把重要重复代码抽象出来 (3)HashMap.putIfAbsent(key,val)方法 (4)LFU的实现还是挺 阅读全文
摘要:
1.局部最优,则全局最优 2.贪心没有套路,说白了就是常识性推导加上举反例 3.先想清楚局部最优,再想清楚全局最优 4.Arrays.binarySearch(arr, begin, end, key) 前包后不包 Arrays.equals(arr1,arr2) 判断两个数组是否相等。可以判断基本 阅读全文
摘要:
四.动态规划 代码随想录内容: 1.动态规划当前状态是由前面状态推导而来的,而贪心是局部直接选最优的 存在递推关系(存在状态转移),也就是当前状态是由前面状态推导而来的。可以使用动态规划 2.动态规划的解题步骤:(dp数组,状态转移公式,初始化,遍历顺序,举例子)(动规五部曲,类似前面的递归三部曲, 阅读全文
摘要:
1.排列组合:Anm,Cnm 2.递归遍历的时候,其实就是一条路径一条路径的遍历。也就是深度优先搜索 3.组合问题 (1)共享变量可以放入参数里面,但影响可读性。所以可以放在外面,就是全局变量 (2)for循环横向遍历,递归纵向遍历 (3)ArrayList有三个构造方法,可以传入一个Collect 阅读全文
摘要:
1.二叉树的一些概念:深度,高度。。。 2.熟记基础代码 二叉树遍历,二叉堆(上浮,下沉,构建堆),优先级队列 后续非递归遍历比较特殊, 优先级队列的实现要会 3.二叉树 (1)满二叉树 这棵二叉树为满二叉树,也可以说深度为k,有2^k-1个节点的二叉树 (2)完全二叉树 (3)二叉查找树:二叉查找 阅读全文
摘要:
一.图相关 1.图本质上可以认为是多叉树的延伸。面试笔试中很少出现图问题,就算有,也是简单的遍历问题,基本上可以完全照搬多叉树的遍历 1 //基本的N叉树节点 2 class TreeNode{ 3 int val; 4 TreeNode[] children; 5 } 6 //图节点的逻辑结构 7 阅读全文