笔记
Joisen.
日益精进
展开
-
变成回文数的最小次数
变成回文数的最小次数。原创 2022-10-15 10:39:05 · 204 阅读 · 0 评论 -
List转二维数组
List<Integer> front = new ArrayList<>(); List<Integer> mid = new ArrayList<>(); List<Integer> back = new ArrayList<>(); int[][] res = { front.stream().mapToInt(Integer::valueOf).toArray(), .原创 2021-05-08 17:30:37 · 1163 阅读 · 0 评论 -
C语言中对于数组int s[];sizeof(s)与sizeof(*s)的区别
sizeof(s)计算的到的是数组的所有Byte数,而sizeof(*s)计算得到的是该数组一个元素所占Byte数原创 2021-04-24 15:51:15 · 512 阅读 · 0 评论 -
Netty心跳检测机制
netty中提供了 tcp-keepalive 的设置:ServerBootstrap bootstrap = new ServerBootstrap(); bootstrap.group(bossGroup,workerGroup) .channel(NioServerSocketChannel.class) .option(ChannelOption.SO_BACKLOG,128)原创 2021-02-03 20:45:57 · 289 阅读 · 2 评论 -
搜索二维矩阵
##【算法日记-搜索二维矩阵】先看题目:编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:每行中的整数从左到右按升序排列。每行的第一个整数大于前一行的最后一个整数。例:输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3输出:true我的解法:public boolean searchMatrix(int[][] matrix, int target) { if(原创 2021-01-29 19:43:56 · 82 阅读 · 1 评论 -
二叉树的镜像
##【算法日记-二叉树的镜像】请完成一个函数,输入一个二叉树,该函数输出它的镜像。例如输入: 4 / \ 2 7 / \ / \1 3 6 9镜像输出: 4 / \ 7 2 / \ / \9 6 3 1这波很香~递归代码public TreeNode mirrorTree(TreeNode root) { if(root == null) return null;原创 2021-01-03 15:48:27 · 103 阅读 · 0 评论 -
数组中只出现一次的数字
【算法日记-只出现一次的数字】题目描述在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。输入:nums = [3,4,3,3]输出:4map的思路来的比较快class Solution { public int singleNumber(int[] nums) { Map<Integer,Integer> map = new HashMap<>(); for(int i=0;i&l原创 2021-01-02 22:09:16 · 79 阅读 · 0 评论 -
二叉树的右视图
【算法日记-二叉树的右视图】给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。输入: [1,2,3,null,5,null,4]输出: [1, 3, 4]解释: 1 <--- / \2 3 <--- \ \ 5 4 <---输入: [1,2,3,null,5]输出: [1, 3, 5]解释: 1 <---原创 2020-12-29 19:54:26 · 102 阅读 · 0 评论 -
Swagger学习笔记
Swagger学习笔记第一步 项目构建采用传统的springboot项目构建 只需要引入web就行第二步添加maven依赖<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version></depe原创 2020-12-17 18:11:54 · 90 阅读 · 0 评论 -
秒杀二叉树深度
#二叉树深度计算1:递归public int maxDepth(TreeNode root) { return root==null?0:Math.max(maxDepth(root.left),maxDepth(root.right)) + 1; }递归的思想还是很简单的,再看看第二种思想2:非递归这里用到了配对(Pair)。配对提供了一种方便方式来处理简单的键值关联,当我们想从方法返回两个值时特别有用。 public int maxDepth(TreeNode root) {原创 2020-12-11 10:06:08 · 67 阅读 · 0 评论 -
判断一个数是不是2的多少次方
判断一个数是不是2的整数次方直接附上代码:public class IsPowerOfTwo { static boolean isPowerOfTwo(int n) { String str = Integer.toBinaryString(n); if (n < 1) return false; /** * 一个数为2的次方该数的二进制数的特点为:除了首位为1,其余均为0 * 使原创 2020-12-09 22:03:59 · 358 阅读 · 0 评论 -
优先队列
【算法学习日记-优先队列】时隔251天,我再次提起笔来写博客啦!时间过得真快!!!感慨一波,嘿嘿~好了,步入正题;首先什么是优先队列呢?优先队列有两种,分别是:- 最大优先队列,无论入队顺序,当前最大的元素优先出队。- 最小优先队列,无论入队顺序,当前最小的元素优先出队。我们用二叉堆来实现优先队列,而二叉堆有两种:最大堆和最小堆。最大堆:父结点的键值总是大于或等于任何一个子节点的键值;最小堆:父结点的键值总是小于或等于任何一个子节点的键值。我们来复习一下二叉堆的特性:二叉堆一般用数组来表示。原创 2020-11-14 23:17:01 · 133 阅读 · 0 评论 -
Execution切入点表达式
Execution切入点表达式切入点表达式:execution(* org.joisen.spring_aop_bili.*.*(..))选择方法 返回任意值 包 类名任意 方法名任意 参数任意 execution(修饰符 返回值 包.类.方法(参数)throws异常 ) 修饰符(一般省略):public ...原创 2020-03-08 20:51:55 · 244 阅读 · 0 评论 -
AspectJ 通知类型
AspectJ通知类型通知是切面的具体逻辑实现,由切面负责执行,具体的某个通知对应具体的某些由切点描述的连接点。AOP联盟定义通知类型,为通知Advice定义了org.aopalliance.aop.Advice特性接口,必须要实现,从而确定方法名称。AspectJ通知类型,只定义类型名称,以及方法格式通知个数:6种,掌握一种,知道五种before:前置通知(应用:各种校...原创 2020-03-07 11:27:44 · 224 阅读 · 0 评论 -
IDEA快捷键
常用快捷键IntelliJ IDEA编辑器大受欢迎的原因之一是它的智能提示和丰富的快捷键,在日常开发中熟练的使用快捷键会大大提升开发的效率,本篇文章就笔者日常开发中的总结,把常用的、好用的快捷键做一个列表,方便查阅。喜欢本文的朋友可以转发朋友圈,方便翻阅。提示:Mac 版本的快捷键在本期推文次条自动代码常用的有fori/sout/psvm+Tab即可生成循环、System.out、ma...原创 2020-03-08 19:37:58 · 478 阅读 · 0 评论