自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yancun93的博客

菜鸟进阶

  • 博客(22)
  • 收藏
  • 关注

原创 LeetCode146. LRU缓存机制 附java代码

public class LRUCache { private Deque<Integer> queue = new ArrayDeque<>(); private Map<Integer, Integer> map = new HashMap<>(); private int capacity = 0; public LRUCache(int capacity) { this.capacity = cap.

2020-10-19 16:46:20 111

原创 LeetCode 38 外观数列 附java代码

public static void main(String[] args) { System.out.println(countAndSay(6)); } private static String countAndSay(int n) { if (n == 1) { return "1"; } if (n == 2) { return "11"; } ..

2020-06-12 16:05:22 177

原创 git代码提交401 权限问题记录

1. 最近开启了新项目 但是在代码git提交的时候 发生了RPC failed; HTTP 401 curl 22 The requested URL returned error: 401项目采用gogs 做代码管理1首先你需要在gogs上添加私人秘钥点击你的图标 然后 -> 用户设置 --> SSH秘钥具体怎么生成秘钥,可自行百度ssh-keygen -t rsa -C "[email protected]"然后在C盘用户目录下C:...

2020-05-15 09:43:43 597

原创 LeetCode 121 买卖股票的最佳时机 附java代码

1. 采用双指针如果前面的数值比后面的大 那么就需要舍弃这个数值 直接从下一个开始遍历代码如下: public int maxProfit(int[] prices) { //双指针法 if (prices == null || prices.length == 0 || prices.length == 1) { return 0; } int length = prices.length;...

2020-05-11 18:02:04 141

原创 LeetCode 118 杨辉三角 附java代码

1。采用动态规划 即n的值 是有n-1的值推导出来的。推导过程就是i的值等于上面i的值加上i+1的值。注意i的取值范围。class Solution { public List<List<Integer>> generate(int numRows) { List<List<Integer>> result = ...

2020-04-30 18:28:09 97

原创 LeetCode 17 电话号码的字母组合 附java代码

像这种电话号码的全排列问题,一般就可以用

2020-04-29 11:59:23 138

原创 LeetCode 200 岛屿数量 附java代码

给你一个由'1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例 1:输入:11110110101100000000输出:1思路是循环遍历这个二维数组,如果等于1,然后sum++; 并且将该值置为0或者2也行。...

2020-04-27 17:59:47 165

原创 LeetCode 34 在排序数组中查找元素的第一个和最后一个位置 附java代码

题目要求如下:给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是O(log n) 级别。如果数组中不存在目标值,返回[-1, -1]。自己想的解法,循环遍历数组,设置一个flag,当第一次找到target的时候,flag设为false。然后继续遍历数组,有等于target就放入到第...

2020-04-22 10:38:59 100

原创 LeetCode 13 罗马数字转整数 附java代码

例如, 罗马数字 2 写做II,即为两个并列的 1。12 写做XII,即为X+II。 27 写做XXVII, 即为XX+V+II。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做IIII,而是IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。同样地,数字 9 表示为IX。这个特殊的规则只...

2020-04-16 16:47:25 77

原创 LeetCode 1116 打印零和奇偶数 附java代码

1. 题目要求输入:n = 2输出:"0102"说明:三条线程异步执行,其中一个调用 zero(),另一个线程调用 even(),最后一个线程调用odd()。正确的输出为 "0102"。题目已经很清楚了,这涉及到三个线程之间的通信。这里我们用synchronized来实现class ZeroEvenOdd { private int n; ...

2020-04-16 15:11:38 205

原创 LeetCode 1115 交叉打印FooBar 附java代码

题目要求: 输入N,有两个线程,一个打印foo,一个打印bar 然后输出N个foobar。代码如下:class FooBar { private int n; private AtomicInteger value = new AtomicInteger(0); public FooBar(int n) { this.n = n; ...

2020-04-16 14:06:33 129

原创 使用线程池的invokeAll 加速任务处理

需求说明: 1.有很多的学生列表,这些学生来自不同学校不同年级和不同班级。先根据学校、年级和班级对学生进行分组。 分组后打印绩点最好的一个学生的信息。代码如下:package yc.po;public class Student implements Comparable<Student>{ private Stri...

2020-04-15 11:29:01 325

原创 springboot 一个项目中配置多个redis实例

在实际的项目中,可能一个项目需要操作多个redis的数据,那么我们就需要做相应的配置首先在我们项目的 application.proterties中添加如下配置。有几个就写几个。注意这里的命名: spring.redis开头是springboot 自动配置默认的。 spring.redisbatch 是自己定制的spring.r...

2020-04-14 18:44:47 4115

原创 自己个人开发中遇见的问题汇总

1. redisTemplate 使用increment 方法报错ERR value is not an integer or out of range这是因为必须使用 stringRedisSerializer、如果你的ResdisConfig使用了其他序列类。那么就可以手动设置代码如下: @Autowired private RedisTemplate<String,...

2020-04-14 18:27:15 2860

原创 浅谈MYSQL的事务、锁、以及隔离级别

MYSQL是一个相对比较稳当的关系型数据库,在平常项目中有大量的应用。以下只是自己关于MYSQL的一点理解。MYSQL有InnoDB和MyIsAm两种常见的数据引擎,在高版本的MYSQL中,默认是InnoDB引擎。两者的区别就是如果你的项目中有大量的select 和 delete ,那么相对来说采用MyISAm引擎会更快一点。InnoDB是支持事务的,这是InnoDB的优势,而且支...

2020-04-10 18:43:26 79

原创 通过N个线程顺序循环打印从0至100

网上看到了一个题目: 输入N个线程,然后顺序打印数字从0到100,输出结果类似如下:thread0 value is0thread1 value is1thread2 value is2thread3 value is3thread0 value is4思路是解决线程的序号,定义一个atomic的原子inter,初始值为0,然后判断序号是否等于inter的值,或者int...

2020-04-10 17:53:34 2518 2

原创 使用redisTemplate简单实现分布式锁

代码如下:import lombok.extern.slf4j.Slf4j;import org.apache.commons.lang3.exception.ExceptionUtils;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.redis...

2020-01-20 14:30:20 867

原创 通过ThreadPoolExecutor来自定义创建线程池

在阿里巴巴JAVA开发手册中有这样一个强制要求。那么我们如何通过ThreadPoolExecutor来自定义线程池了?位于java.util.concurrent.ThreadPoolExecutor类的构造器主要有如下几个参数1.corePoolSize 核心线程数2.maximumPoolSize 最大线程数3.keepAliveTime 空闲线程保持激...

2020-01-19 11:31:59 673

原创 springboot结合mysql主从来实现读写分离

springboot结合mysql主从来实现读写分离1.实现的功能 基于springboot框架,application.yml配置多个数据源,使用AOP以及AbstractRootingDataSource、ThreadLocal来实现多数据源切换,以实现读写分离。mysql的主从数据库需要进行设置数据之间的同步。2.代码实现 application.prope...

2020-01-13 16:07:05 2639 3

原创 知识点总结

以下知识点是一个总结归纳 用于补漏查缺。1.java基础 常用关键字 volatile synchronized transient final static 八大基础数据类型2.java进阶 多线程 Runnable Thread java8新特性 stream Optional 线程池 ExecutorThre...

2019-12-27 09:49:13 82

原创 近期学习总结

此篇总结下自己所学的知识。1.使用AOP对controller层的异常进行统一处理 代码如下:@ControllerAdvicepublic class ControllerExceptionHandler { @ExceptionHandler({Exception.class}) public Map handleException(Excepti...

2019-11-28 14:24:25 81

原创 面试题目

1.说一下jdk的对空间的内存划分 分为程序计数器 java常量池 java堆 java栈 方法区, 本地方法栈在JVM运行时内存区域中,PC寄存器(程序计数器)、虚拟机栈和本地方法栈是线程独享的2.AVL 红黑树 B树AVL 二叉平衡树 如果场景中对插入删除不频繁 只是对查有要求 AVL优先红黑树 近乎平衡 他的旋转保持平衡次数比较少 插入删除次数多的...

2019-08-20 09:53:46 64

空空如也

空空如也

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

TA关注的人

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