- 博客(9)
- 收藏
- 关注
原创 JAVA常用并发线程同步器
1、CountDownLatch使用场景:主线程需等待子线程执行完成后再进行业务场景。使用Thread.join()方法也能达到此效果,但如果你的线程使用线程池来进行管理,ExecutorService传递的参数是Runable或Callable对象,无法调用join() 方法,需使用CountDownLatch。与CyclicBarrier比较不可循环使用。构造函数: new CountDownLatch(int count);常用方法:await() 阻塞主线程直到容量为0时再往下
2021-03-02 23:43:37 142
原创 JAVA线程池ThreadPoolExecutor
线程池的优点一、执行大量任务时能提供较好的性能,可复用线程,减少线程的创建和销毁的开销二、提供资源限制和管理的手段,可控制并发数。线程池参数1、corePoolSize:核心线程个数2、workQueue:阻塞队列,比如有界ArrayBlockingQueue、无界LinkedBlockingQueue、最多一个的SynchronousQueue、优先级队列PriorityBlockingQueue3、maximunPoolSize:最大线程数4、threadPoolFactory:线程工厂,
2021-03-01 23:18:10 125
原创 LeetCode:121. 买卖股票的最佳时机
买卖股票的最佳时机给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-...
2020-04-10 23:24:58 106
原创 LeetCode 104.二叉树的最大深度
题目描述给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],3/ 9 20/ 15 7返回它的最大深度 3 。思路递归如果root不等于null就返回1 + Math.max(左子树的最大深度,右子树的最大深度)等于nu...
2020-04-09 22:32:51 104
原创 LeetCode88.合并两个有序数组
LeetCode88.合并两个有序数组给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 num1 成为一个有序数组。输入:nums1 = [1,2,3,0,0,0], m = 3nums2 = [2,5,6], n = 3输出: [1,2,2,3,5,6]观察数组nums1发现后面有很多空位0未赋值,解题应该是需要用到的。可...
2020-04-07 22:01:41 84
原创 刷题日常:LeetCode78子集
记录刷题日常LeetCode78.子集给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。解题思路:空集是所有集合的子集。遍历数组,子集添加数组的元素组成新的子集,遍历完数组组成的所有子集即为所求结果class Solution { public List<List<Integer>> subsets(int[] nums) { ...
2020-04-06 21:23:44 109
原创 zookeeper 端口没被占用但启动不成功的解决方法
zookeeper 端口没被占用但启动不成功的解决方法2181端口查看了没被占用,什么都没用查看zookeeper.out,发现报下面的错nohup: failed to run command `java’: No such file or directory推测说java或jdk方面的问题解决方法 往zkServer.sh的文件添加 jdk安装的路径如果不记得jdk装找哪里的话...
2019-04-18 19:59:06 3237
原创 CCF2018-1 小明上学 Python解法 100分
CCF2018-1 小明上学试题编号: 201812-1试题名称: 小明上学时间限制: 1.0s内存限制: 512.0MB问题描述: 题目背景 小明是汉东省政法大学附属中学的一名学生,他每天都要骑自行车往返于家和学校。为了能尽可能充足地睡眠,他希望能够预计自己上学所需要的时间。他上学需要经过数段道路,相邻两段道路之间设有至多一盏红绿灯。 京州市的红绿灯是这样工作的:每盏红绿灯有...
2019-02-24 15:03:55 318
原创 CCF2018-2小明放学 Python解法 100分
CCF2018-2小明放学 Python解法题目背景 汉东省政法大学附属中学所在的光明区最近实施了名为“智慧光明”的智慧城市项目。具体到交通领域,通过“智慧光明”终端,可以看到光明区所有红绿灯此时此刻的状态。小明的学校也安装了“智慧光明”终端,小明想利用这个终端给出的信息,估算自己放学回到家的时间。问题描述 一次放学的时候,小明已经规划好了自己回家的路线,并且能够预测经过各个路段的时间...
2019-02-24 14:58:05 454
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人