自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 Consider defining a bean of type ‘org.springframework.cloud.gateway.filter.factory.SpringCloudCircui

网上搜的大多是要要排除其他依赖的spring-boot-starter-web,因为会与spring cloud gateway的webflux冲突。但是我使用springcloud2021.0.0版本的gateway,即使项目中没有依赖spring-boot-starter-web依然会报这个错。解决方法(参考官方文档)添加依赖: <dependency> <groupId>org.springframework.cloud</groupId&gt

2022-02-15 13:01:41 425

原创 1-100求和 递归+线程池

1-100求和 递归+线程池public class Test { static int coreSize = Runtime.getRuntime().availableProcessors() + 1; static RecursiveThreadPoolExecutor executor = new RecursiveThreadPoolExecutor(coreSize, coreSize << 1, 60, TimeUnit.SECONDS, new

2021-08-13 13:43:01 76

原创 基于循环求:n个骰子所有点数之和的概率

static void printProbability(int amount) { if (amount == 0) { return; } int[][] sum = new int[2][amount * 6]; for (int i = 0; i < 6; i++) { ...

2020-02-14 15:24:31 133

原创 数组中只出现一次的链各个数字,其他都出现了两次

int[] arr = {2,4,3,6,3,2,5,5}; int result = arr[0]; for (int i = 1; i < arr.length; i++) { result ^= arr[i]; } String s = Integer.toBinaryString(resul...

2020-02-13 11:20:04 73

原创 最长不含重复字符的子字符串

public static int getMaxLengthUnRepeatSubString(String str) { // 题目中以假设该字符串只包含a-z的字符,无需安全检查 // 储存每一个字符在字符串str中出现的最新位置 int[] words = new int[26]; for (int i = 0; i < words.length; i++) { ...

2019-11-17 21:18:20 53

原创 把数字翻译为字符串(由递归推到动态)

递归这个思路就是分叉,到每一层都至少有一个分叉, 第二个分叉可能会大于25(题目是以0映射字符a),所以需要判断, 代码如下:// static HashMap<Integer, Integer> map = new HashMap<>(); 这里是模仿记忆搜索也算是一种优化方式private static int doTransfer(String s, int ...

2019-11-13 23:12:35 69

原创 数字序列中的某一位数字 - java

分析:拆成索引 数 不拆的话一位数字(0-9) 1 * 10个 10个两位数字(10-99 ) 2 * 9 * 10个 90个三位数字(100-999) ...

2019-11-09 14:57:46 90

原创 数据流中的中位数

整体思路还是让数组实现排序,只不过是将元素平均分配在一个大根堆和一个小根堆上?原因: 假设数组已经排好顺序(从小到大),将数组均分为两份(left, right, left.length -right.length <=1 ),得到的数组有两个特征:1.left里的元素都比right里的小2. 如果原数组有奇数个元素,那么中位数肯定left里最大的那个,否则的话,就是(max(le...

2019-11-06 22:24:44 43

原创 lockInterruptibly, lock, synchronized 的关于响应中断的区别

场景: 两个线程都需要执行同一个任务(Runnable),先让其中一个执行,拿到锁后睡五秒。紧接着 第二个线程开始执行,等第二个开始执行3秒后,打断(这是第二个线程肯定还未拿到锁)表现:lockInterruptibly:thread2立即响应中断抛出异常lock和synchronized: thread2一直尝试拿到锁后才响应中断测试用例:lockInterruptily/ lock...

2019-11-06 17:13:17 678

原创 打印数组内出现次数超过数组内元素个数一半的元素

Integer partition(int[] arr, int left, int right) { if ( arr== null || left >= right) { return null; } int index = sort(arr, left, right); if (index >...

2019-11-05 14:56:35 134

原创 字符串的排列

每次让当前递归来到的层数的第一个元素与后面的元素进行交换,然后再递归,知道不能递归为止,该题主要是用递归分叉思想 List<String> arrangeStr(String str) { if (null == str || "" == str ) { return null; } List<String...

2019-11-03 09:01:19 114

原创 序列化与反序列化二叉树(先序)

序列化格式:子节点为空用特殊符号表示,且节点与节点之间的用都逗号隔开反序列化:递归先处理左右子树,化整为零/** * 序列化 */ public static String serializeTree(Node root) { if (root == null) { return null; } ...

2019-11-01 14:28:27 79

原创 二叉搜索树转为双向链表(双向链表节点的魂虚为中序遍历顺序模式)

1.把整体问题划分为局部问题,依据中序遍历模式,让每个节点的left指针为prev指针,right指针为next指针。2.根据推理规律,每个树的根节点的left(prev)为其左孩子的最右节点,right(next)为其右孩子的最左节点。3.根据规律写出递归代码如下: public static void binaryTreeToLinkedList(Node root) { ...

2019-11-01 10:53:05 59

原创 FutureTask的使用

public static class Task<T> extends FutureTask<T> { public Task(Callable<T> callable) { super(callable); } @Override protected boolean ru...

2019-10-31 10:16:58 66

原创 剑指offer - 输入一个整数,在二叉树中返回路径和为这个整数的所有路径

非递归版 static class Node { int val; Node left; Node right; public Node(int val) { super(); this.val = val; } } public static voi...

2019-10-30 23:59:24 73

原创 打开一个网址后产生的动作

1.首先浏览器所在主机会把域名给DNS解析,拿到目标IP地址;2.然后应用层把请求的报文等信息发送到传输层,传输层再把报文封装起来,并设置tcp头部,发动给网络层3.网络层拿到后设置Ip头部,然后拿目标IP跟本机路由表(和每个子网掩码做与运算)作比对,如果目标IP就是本机地址则直接交给相应程序处理,否则发送给链路层寻找下一条的地址4.链路层拿到后根据arp协议获取下一跳的mac地址即管理当前...

2019-10-29 19:13:12 250

原创 基数排序-MSD

public class Test { public static void main(String[] args) { Integer[] arr = {15,25,105,78,34,21,32,41}; int maxBit = 0; for (int i : arr) { maxBit = Math.max(S...

2019-10-29 16:09:47 365

原创 输入一个后序遍历后的数组,判断是否能有一颗树满足-java

/** * * 思路: 先找出最右右孩子的位置,那么从此位置到父节点之间不能含有比 * 父节点小的节点; * 然后以此位置有分界点,遍历左子树和右子树 */public class Test { public static void main(String[] args) { test1(); test2(); ...

2019-10-29 14:26:48 72

原创 栈的压入,弹出序列java

/** * * 中心思想: 遍历弹出序列, * 每一个都先与两个栈额栈顶元素比较,有的话就弹出,遍历弹出序列的下一个元素 * 没有的话,就让压入序列继续压入help栈,当遇到目标元素时停下,然后越过该元素继续遍历弹出序列, * 如果没遇到该元素说明弹出序列是错的直接返回 */public class Test extends People<Test>{ publi...

2019-10-29 09:31:37 60

原创 两个线程交替打印数字和字母

private static Object obj = new Object(); static class T1 implements Runnable { @Override public void run() { synchronized (obj) { for (int i = 1; i < 27; i++) { System.out.p...

2019-10-25 19:33:26 577

原创 剑指offer - 剪绳子 问题的一个细节

public static int getMax(int len) {if (len == 1) {return 0;} if (len == 2) { return 1; } if (len == 3) { return 2; } int[] arr = new int[len + 1]; // 为什么会有这些初始值, 因为能到执行到这里说明 len >...

2019-10-22 15:38:14 54

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除