- 博客(9)
- 问答 (1)
- 收藏
- 关注
原创 Royal TSX跳板机连接内网服务器
在mac系统中用Royal TSX是可以和windows的xshell和xftp比肩的,但很多开发所面临的环境有可能存在跳板机,再由跳板机连到内网服务器,现在废话不多说,先下好Royal TSX然后安装好里面的Terminal和File Transfer插件,告诉你们怎么配置:1.新建Document2.新建安全网关(Security Gateway)3.配置安全网关,然后配置连接信息、认证信息,然后测试下连接4.经过上述步骤,我们然后新建内网服务器,就能在新...
2021-09-25 10:48:44
8418
4
原创 快慢指针找链表入环的第一个节点-原理讲解及代码
废话不多说,今天来看看链表的一个难点,就是环的问题,看下面这个经典问题:给定一个单向链表,链表如果有环,返回入环的第一个节点(就是形成环形的第一个Node),如果无环返回null。遇到这样一个题,有个巧妙的方法求解(不知道谁先想出来的,不过真的是天才),就是用快慢指针的解法,具体来说,就是定义两个Node,一快一慢,都从head出发,快的每次走2步,慢的每次走1步,如果相交了,那么相交的两个Node一个不动,另一个从head开始,大家再按相同的步调走(都是一次一步),第二次相交的那个Node就.
2020-08-05 01:42:47
693
原创 Trie前缀树(字典树)的java实现
前缀树结构(Trie)是一种比较特别的数据结构,用来存多个字符串,如果你想查找以某个前缀开头的字符串有几个?或者某个字符串出现了多少次?那么它就派上用场了。思路:简单得说,我们用链表的底层来做这个前缀树,每个Node有3个属性,pass:经过这个节点的时候pass+1end:当到达最后节点end+1next:当前节点的下个节点,可能有多个,所以我们用HashMap<Integer,Node>来存储,key是ASCII码(节点值),value是下个节点对象。每当我们存一个字符
2020-07-19 21:16:54
541
原创 堆的动态调整(小根堆)
堆排序的应用很广泛,但是当我们往堆中添加完元素,然后更改这些元素的属性,更改后的元素并不会重新调整,这时候需要我们自己去实现堆的动态调整了,因为很多语言并未实现这一步骤,例如java中的PriorityQueue就没有动态调整。思路:要重新调整其实不难,对调整后的元素分别进行向上和向下的堆调整,它能上则上,不能上则下,两条路二选一,当它来到合适的位置则调整完毕。问题是我们怎么知道它的索引呢?直接根据ArrayList的indexOf就进行了O(n)的循环,所以我们加了一个Map来同步更新索引,这样就
2020-07-15 00:39:18
1817
原创 快速排序--荷兰国旗三色优化
快速排序作为十大经典排序之一,大家应该有所耳闻,对它的优化网上也有不少,比如随机数快排,中位数快排,甚至有的走火入魔去融合插入排序或多线程……今天我们不成魔,做个优化针对于重复的数字,普通快排一次partition归位一个数,经过优化后直接归位所有和它相同的数,即整个区间划分为<num,==num,>num的三区间,就像荷兰国旗那样所以就叫这个了。具体思路:划分为3个区,小于区,等于区,大于区。i指针从左往右循环,如果i位置数比候选num小,就把小于区右边一位与它交换,小于区右扩,i++;
2020-07-05 18:53:45
458
原创 归并排序的应用--求逆序数(java版本)
上一篇我们讲了归并排序的应用和思路,我们现在借助这个归并排序的思路,即每个元素要和左边所有,或右边所有元素进行比较的时候,这种情况下可以用归并排序,来解出一个数组中逆序数对,这个貌似是流行了十年多的经典应用了。老规矩先说下什么是逆序对,Int[] arr = {9,8,7},我们先定义一个方向,从左往右,任意取两个数,只要左边比右边大,就算一个逆序对。arr的逆序对为(9,8),(9,7),(8,7)。求解思路很简单,就是在归并的过程中,会不断比较,每个数在比较过程中记录下左大右小的两个数就行了,不理
2020-07-04 23:34:26
745
原创 归并排序的应用--求小和(java版本)
归并排序大家都会写了吧,那你知道什么场景或什么题能派上用场吗?当涉及到数组元素中,每个元素要和左边所有,或右边所有元素进行比较的时候,这种情况下可以用归并排序,在排序的过程中,把事儿干了。不理解的话,看下这个图就清楚了,我们现在只看3的心路历程,在merge的过程中,3第一次和1merge比较,然后进行下一个范围的merge,下下个……,每个新的范围所有数都会和3比较,比较的过程中可以实现特有的逻辑,当范围不断扩大,直到数组末尾的时候,3所有右边的数就完成了和3的比较过程。现在有这么个题,求一个
2020-07-04 22:43:55
303
原创 java归并排序非递归实现
废话不多上代码:package class03;/** * @Description 归并排序非递归 * @Package: class02 * @Author: Ray * @CreateTime: 2020/7/4 15:28 * @E-mail: 634302021@qq.com */public class Test7 { public static void mergeSort(int[] arr) { if (arr == null || ar
2020-07-04 21:40:27
938
原创 jdk动态代理为什么要接口
jdk的动态代理为什么用接口,内部是什么原理呢?看了几篇文章貌似都没讲的清楚明白,因此来解释一下。先通过一个简单例子实现功能://接口public interface SayService { void say(String name);}//实现类public class SayServiceImpl implements SayService{ @Override pub
2017-04-12 18:28:07
8350
28
空空如也
CAS服务端内网部署的问题
2021-05-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人