- 博客(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 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关注的人