自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【leetcdoe】【java】【4、寻找两个正序数组的中位数】

public double findMedianSortedArrays(int[] nums1, int[] nums2) { //标记位 int prev = 0; int next = 0; int n1 = nums1.length; int n2 = nums2.length; int n = n1 + n2; //这里target向下取整了,所以后面循环终止的条件是p<=...

2020-12-06 17:58:39 84

原创 【leetcode】【java】【3、无重复字符的最长子串】

我的解法: public int lengthOfLongestSubstring(String s) { //先考虑边界情况 if(s.length()==0) { return 0; } if(s.length()==1) { return 1; } //使用一个set记录是否重复 Set<Character> set = new

2020-12-04 01:01:51 182

原创 【leetcode】【java】【2、两数相加】

给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807第一眼看到题目的想法是,写一个listNode与int的转化方法,转

2020-12-03 02:56:23 217

原创 【java】手写一个LRU缓存

LRU是Least Recently Used 的缩写,翻译过来就是“最近最少使用”,也就是说,LRU缓存把最近最少使用的数据移除,让给最新读取的数据。而往往最常读取的,也是读取次数最多的。首先我们定义一个LRU接口public interface LRUCache<K,V> { V get(K key); void put(K key, V value);}1、LinkedHashMap实现public class LRULinkedHashMap<K,V&g

2020-11-28 19:47:50 355

原创 【java】手写一个线程池

在手写一个线程池前,我们先参考一下JDK里的线程池是怎么工作的。一、JDK线程池的七大参数1.corePoolSize:线程池中常驻核心线程数2.maximumPoolSize:线程池能够容纳同时执行的最大线程数,必须大于等于13.keepAliveTime:多余的空闲线程的存活时间,当前线程池数量超过corePoolSize时,4.unit:keepAliveTime的单位5.workQueue:任务队列,被提交但尚未被执行的任务6.threadFactory:表示生成线程池中工作线程的线程

2020-11-27 00:10:46 248

原创 【java】手写一个阻塞队列

阻塞队列与普通的队列的区别就是当队列为空或者满时处理的逻辑不通,普通队列返回特殊值(比如null,false等等)而阻塞队列是阻塞当前线程直到队列有元素或者不为空。这里手写一个阻塞队列。首先定义一个接口:public interface BlockingQueue<E> { /** * 往队列尾部添加一个元素,当队列满时阻塞当前线程 * @param e */ void put(E e); /** * 从队列首部取走一个元素,

2020-11-25 00:31:55 1105

空空如也

空空如也

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

TA关注的人

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