![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
牛客习题
听~雨
这个作者很懒,什么都没留下…
展开
-
栈的压入和弹出序列
首先分析入栈和弹栈在入栈数列中,第一次弹出的数字中,入栈数列在这个数字前已经全部入栈了,在下一次弹栈中,如果是之前入栈的数列,则入栈数列没有入栈,如果是继续入栈,则在入栈数列中,在这个数字前的数字已经全部入栈。在出栈序列中,在没有入栈的情况下,一定是往后推。以此类推,就可以得到结果。在这种情况下,由于逆推是后进先出,所以我们需要使用到栈。下面分3情况来了解:1.第一次入栈:在这个数字前的数...原创 2019-08-19 13:06:11 · 133 阅读 · 0 评论 -
事物
原创 2019-09-07 12:22:26 · 88 阅读 · 0 评论 -
b-tree、b+树
即b树有两种情况要么是空树要么根节点有两个孩子一个节点的孩子数为度一棵树的最大度为这棵树的阶,设为mb树中,根节点的孩子数为[2,m]除了根节点 非叶子节点的孩子数为[m/2,m]向上取整,所以这导致所有非叶子节点的关键字数为[m/2-1,m-1]所有叶子节点在同一层删除和添加节点图解文章参考...原创 2019-08-18 16:10:34 · 89 阅读 · 0 评论 -
tcp和udp的区别
tcp是面向连接的,所以tcp提供可靠的服务,也就是说tcp连接传送的数据无差错,不丢失,不重复。是面向字节流的udp是无连接的,所以udp只是尽最大的努力交付,是面向报文的,即一次发送。tcp的拥塞控制:慢开始(在阀值前都是按倍数增加的)拥塞避免阶段(当到达门阀的时候,就逐渐增加,没加一),在这两个阶段中,如果出现拥塞就会将门阀降到原来的一半,然后将拥塞窗口变成1,重新可以使用慢开始算法。...原创 2019-08-29 21:03:03 · 82 阅读 · 0 评论 -
矩阵中的路径
package 练习;//矩阵中的路径/** * 题解 * 使用分解的思想 * 在查找的过程中,如果查找的位置超出了原本数组的大小,或者已经被查找,或者这个字符与目标字符不匹配都要返回false * 当index>str.length时,证明已经查找成功 * 要先判断成功,因为如果刚好是下一个超出位置或者其他原因会判断失败 * 唯一要主要的就是数组传递引用,其他递归会改变...原创 2019-08-28 16:14:38 · 86 阅读 · 0 评论 -
二叉树的下一个结点
package 练习;//二叉树的下一个结点/** * 题解 * 首先我们来认识一下题目 * 使用中序遍历,当你选择一个节点时,当前节点是已经被遍历了 * 那么这个节点可以看做已经遍历的树的根节点,所以当下我们需要遍历右子树(如果右子树不为空) * 下一个节点可想而知是右子树的最左节点 * 如果当前节点的右子树为空,那么下一个节点就是未知了 * 有两种情况 * 1)这棵树是...原创 2019-08-27 20:16:09 · 71 阅读 · 0 评论 -
删除链表中重复的结点
package 练习;//删除链表中重复的结点/** * 题解 * 首先,该题的意思是删除节点,所以我们需要一个节点来保存着不相等节点前的一个节点first * 其次我们要需要注意到当节点头是相同节点的时候,我们需要一个节点来保存节点头 * 将当前节点和下一个节点对比,如果相同,则循环比较相同 * 当找到第一个不同的时候,将first指向这个不同的节点 * 如果当前节点和下一个...原创 2019-08-27 19:10:30 · 58 阅读 · 0 评论 -
链表中环的入口节点
package 练习;//链表中环的入口节点/** * 题解 * 太过简单 */import java.util.ArrayList;public class LianBiaoZhongHuanDeRuKouJieDian { public ListNode EntryNodeOfLoop(ListNode pHead) { ArrayList...原创 2019-08-27 15:33:23 · 75 阅读 · 0 评论 -
表示数值的字符
import java.util.Arrays;//表示数值的字符/** * 题解 * 首先分两种情况 * 1)有科学计数法,2)无科学计算法 * 首先要判断有没有e * 如果存在e就要判断 * 使用Double方法库,转换成 * 由于e后面没有小数所以使用Integer * Double可以转换“+-”符号 * * 可以使用正则表达式进行匹配 * [\\+\\-]...原创 2019-08-27 14:41:39 · 179 阅读 · 0 评论 -
正则表达式匹配
//正则表达式匹配/** * 题解 * 首先我们知道当两个表达式同时走完时,那么他们是匹配的 * 当pattern走完的时候,而str没有走完的时候,则匹配失败 * 然后就是分遇到“*”和没遇到“*”的 * 当遇到“*”,并且当前可匹配的时候可分三种情况 * 1)匹配到一个 2)匹配多个 3)没匹配 * 1和2比较好理解,3感觉是多余的???? * 但是仔细想一下,当“.*"一...原创 2019-08-27 11:02:51 · 506 阅读 · 0 评论 -
两个链表的第一个公共点
//两个链表的第一个公共节点/** * 题解 * 因为两个链表如果有公共点,当第一个公共点开始,以后的点都相同 * 所以我们可以从后面反推回来 * 两个链表,可以保存在arraylist中 * 使用collections.reverse翻转链表就可以一个个匹配 */import java.util.ArrayList;import java.util.Collections;...原创 2019-08-22 20:15:30 · 59 阅读 · 0 评论 -
构建乘积数组
//构建乘积数组/** * 题解 * 利用三角形性质 * 将b,a画出一个矩形 * b[i]就是计算一行,除了对角线不计算 * 首先计算下三角 * 然后叠乘计算上三角 * 在对应相乘 */public class GouJianChengJiShuZu { public int[] multiply(int[] A) { if(A.length==0...原创 2019-08-25 19:14:06 · 66 阅读 · 0 评论 -
数组中重复的数字
数组中重复的数字import java.util.Arrays;/** * 题解 * 没有使用额外空间的做法 * 由于是任意一个 * 因为是n个数字,数字区间是[0,n-1] * 所以可以按照数组的下标判定 * 同时,可以进行有序排序,当下标不等于对应的数字,则与数字对应的下标交换数字,这时,该数字对应的下标是可以的 * 重复此操作 * 当可以找到一个数字下标与这个下标相等...原创 2019-08-25 16:58:51 · 86 阅读 · 0 评论 -
关于剑指offer用到的一些方法
Collections.sort对集合进行排序Arrays.sort对方法进行排序Collections.reverse对集合进行翻转Arrays.copyOfRange(array,from,to)复制array集合的元素[from,to)复制的区间。map.containsKey某个map是否包含某个键...原创 2019-08-25 16:58:11 · 100 阅读 · 0 评论 -
/扑克牌顺子
//扑克牌顺子/** * 题解 * 先排序,获得从小到大顺序序列 * 因为0可以变成任意数,所以要统计0的个数 * 当遇到相邻的数字差不为1的时候 * 消耗一个0让这两个数字的差减少1 * 将i减1 * 重新比较这两数字 */import java.util.Arrays;public class PuKePaiShunZi { public boolean i...原创 2019-08-25 14:06:06 · 78 阅读 · 0 评论 -
和为S的连续正数序列
//和为S的连续正数序列import java.util.ArrayList;/** * 题解 * 利用求和公式 * (1+n)*n/2 * 计算从1开始,目标sum可以容纳多少个数值相加 * 当从1开始计算可容纳数值的时候,若想添加多一个数都是不容许的,只能减去 */public class HeWei_S_DeXianXuZhengShuXuLie { Array...原创 2019-08-24 23:08:43 · 72 阅读 · 0 评论 -
复杂链表的复制
是复制链表这个在网上有很多教程就不说了,说一下我遇到的bug首先在复制链表的时候,当你head链接了node后,你就不能用 cloneHead = cloneHead.next;这个进行下一个了,因为下一个是复制的。第二,在传递random的时候,有些是没有random的,所以这个时候需要判断random是否为null,可以用三目运算符来快速解决这个问题。第三:在进行拆分的时候,因为拆分会...原创 2019-08-19 20:29:39 · 83 阅读 · 0 评论 -
Spring AOP中强制使用CGLIB代理
<aop:aspectj-autoproxy proxy-target-class=“true”/>原创 2019-09-07 13:14:58 · 595 阅读 · 0 评论