- 博客(44)
- 收藏
- 关注
原创 消息队列的常见使用场景
消息队列消息队列( Message Queue)1、把数据放到消息队列叫做生产者2、从消息队列里边取数据叫做消费者一、解耦原来a服务需要调用b服务的接口或者方法来进行数据传递现在a服务只需将数据发送到MQ中b服务从MQ中取出相应的数据即可实现解耦二、异步异步其实就是a服务将数据发送到消息队列之后就可以进行返回或执行其他过程,不需要等待b服务处理数据,从而来提高一些使用异步的业务场景的效率问题三、削峰/限流将请求放在消息队列中,去拿消息队列的消息由系统自己去控制...
2021-04-22 10:08:09 140
原创 KMP(java)关于next数组的代码分析
kmp算法首先咱们先求next数组代码如下 public int[] kmpnext(String dest){ int []next=new int[dest.length()]; next[0]=0; for(int i=1;j=0;i<dest.length();i++){ while(j>0 && dest.charAt(j)!=dest.charAt(i)){ j=next[j-1]; } if(dest.charAt(i)=
2021-04-20 23:31:59 557 4
原创 链表(Java)单链表的添加和删除
链表(Java)力扣第707:设计链表额外注意:假设链表中的所有节点都是 0-index 的(当时我没注意到这个,就被坑了)咱们是有头结点的,但是头结点不算在内,所以咱们循环的时候就要比输入的index少循环一次这也就是添加和删除在for循环的时候,咱们可以顺利找到位置为index的节点的前一个节点的原因,但是在查找的时候咱们要记得加一,才能找到目标节点咱们可以设计一个单链表或者双向链表来解这个题目,所以咱们写了一个接口,方便大家知道有哪些需要实现的方法/** * @program: testsp
2021-04-18 17:54:38 1294
原创 如何找到单链表的中间节点
如何找到单链表的中间节点力扣P148思路:借用两个快慢不同的指针,开始的时候让两个指针都指向链表第一个结点的位置,然后,让快指针一次走两步,让慢指针一次走一步。链表结点个数为奇数个时:当快指针走到NULL前面一个结点的时候,慢指针此时刚好指向链表中间结点。链表结点个数为偶数个时:当快指针走到NULL的时候,慢指针此时刚好指向链表中间结点。 public ListNode sortList(ListNode head) { if (head == null || head.nex
2020-11-21 10:58:06 851
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人