自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

LYB的博客

技术分享

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

原创 按对角线顺序生成矩阵

按对角线顺序生成矩阵旷视面试题给定矩阵的行列,按对角线生成矩阵 //例如行列分别为3,4 //按对角线顺序(方向一致) //1 3 6 //2 5 9 //4 8 11 //7 10 12 public static int[][] generateMatrix(int m, int n){ int[][] res = new int[m][n]; int curVal = 1; for(int i =

2021-09-20 18:33:04 471

原创 lc542.找出矩阵中每个元素到0的最短距离

找出矩阵中每个元素到0的最短距离BFS代码给定一个由 0 和 1 组成的矩阵 mat ,请输出一个大小相同的矩阵,其中每一个格子是 mat 中对应位置元素到最近的 0 的距离。BFS假设这个矩阵中恰好只有一个 0,应该怎么做?由于矩阵中只有一个 0,那么对于每一个 1,离它最近的 0 就是那个唯一的 0。如何求出这个距离呢?1)、如果0在矩阵中的位置是(i0, j0),1在矩阵中的位置(i1, j1),则距离为 |i0 - i1| + |j0 - j1|。2)、从0的位置开始广度搜索,找到这个位

2021-09-07 23:43:55 380

原创 lc17: 电话号码的字母组合

lc17: 电话号码的字母组合回溯代码复杂度分析回溯首先用哈希表将数字与对应的字母映射起来,然后进行回溯操作。回溯可找到所有的可行解,如果发现一个解不可行,则舍弃。每个数字对应的字母都可能进入字母组合,所以直接穷举所有的解即可。回溯过程中维护一个combination字符串,表示已有的字符排列,初始为空,每次取电话号码的一位数字,从哈希表中获得该数字对应的所有字母,将其中一个字母插入到combination后,然后继续处理电话号码的后一位数字,直到处理完所有的digit,即得到一个完整的字母排列,然

2021-09-07 22:32:52 216

原创 将一个整数转换为另一个整数的操作次数

将一个整数转换为另一个整数的操作次数Hamming Distance(汉明距离)计算汉明距离代码实现方法一方法二Hamming Distance(汉明距离)在通信编码领域中,Hamming Distacne表示两个两个等长字符串在对应位置上不同字符的数目,换句话说就是它度量了将字符串x变为y所需要的最小替换次数。1011101 and 1001001 is 2."hamming" and "hammong" is 1. 计算汉明距离对于两个整数来说,汉明距离就是对应位置上数字不同的位数。所以可

2021-09-07 16:33:12 364

原创 Service中抛出异常事务未回滚分析

Service中抛出异常事务未回滚分析问题提出分析声明式事务@Transactional注解作用范围@Transactional注有哪些属性@Transactional失效场景原因解决这是之前项目开发中遇到的问题,最近在整理笔记,会陆续把一些东西整理到博客上来。问题提出@Override@Transactionalpublic boolean create(AddProjectRequest projectRequest) { Project project = new Project();

2021-03-10 10:48:08 1561

原创 聊聊索引

聊聊索引1、索引的概念2、为什么需要索引3、如何构建索引4、B+树-MySQL索引的实现4.1改进二叉查找树4.2、m叉树5、MySQL中索引的相关概念5.1、聚簇索引5.2、非聚簇索引5.3、什么情况不去聚簇索引树上查询呢?5.4、复合索引(覆盖索引)6、MyISAM和InnoDB7、MySQL查询数据的一些原则7.1、等值匹配7.2、最左优先匹配原则7.3、范围查找原则7.4、范围+等值查找1、索引的概念索引就像一本书的目录。而当用户通过索引查找数据时,就好比用户通过目录查询某章节的某个知识点。这样

2021-03-09 15:49:42 237

原创 MySQL中的锁

MySQL中的锁前言乐观锁前言数据库中的锁从其实现方式上来看主要分为了乐观锁和悲观锁这两种实现方式。下面对其做一个总结。乐观锁乐观锁顾名思义就是很乐观,每次去操作数据的时候认为没有其它人来修改数据,所以不会上锁。但是在更新的时候会判断一下在此期间别人有没有去更新...

2021-03-08 20:07:21 171

原创 Java中的 “锁”

Java中的锁锁锁1、使用锁是为了解决并发产生的数据脏读,数据不一致的问题。

2021-02-25 21:38:53 190 1

原创 JVM垃圾回收

JVM垃圾回收JVM 内存分配与回收1、堆内存中对象的分配的基本策略1.1 对象优先在eden区分配1.2 大对象直接进入老年代1.3 长期存活的对象直接进入老年代1.4 总结2、如何判断对象已经死亡?2.1 引用计数法2.2 可达性分析算法2.3 引用介绍2.4 不可达的对象并非"非死不可"2.5 如何判断一个常量是废弃常量2.6 如何判断一个类是无用的类3、垃圾回收算法3.1 标记-清楚算法3.2 标记-复制算法3.3 标记-整理算法3.4 分代回收算法4、垃圾收集器4.1 Serial 收集器4.2

2021-02-18 22:17:37 99

原创 Java内存区域和内存模型

Java内存区域(运行时数据区域)Java内存区域和内存模型是两个不一样的概念,内存区域是指Jvm运行时将数据分区存储,指的是对内存空间的划分。而内存模型(JMM)强调线程和主内存之间的抽象关系,是定义了Jvm在计算机内存中的工作方式。JVM在运行Java程序的过程中会把它管理的内存划分成若干个不同的数据区域。JDK1.8和之前的版本略有不同。JDK1.8之前:JDK1.8之后:程序计数器程序计数器是⼀块较⼩的内存空间,可以看作是当前线程所执⾏的字节码的⾏号指示器。字节码解释器⼯作时通过改变

2021-02-17 19:02:21 258

原创 面向对象与面向过程

面向对象怎么理解面向对象编程和面向对象编程语言面向对象编程最重要、基础的概念就是类和对象,今天我们用到的很多语言像Java、C++、Go、Pyhton、JavaScript等都是。那究竟什么是面向对象编程?什么是面向对象编程语言呢?面向对象编程是一种编程范式或编程风格。它以类或对象为组织代码的基本单元,并将封装、抽象、继承、多态四个特性作为代码设计和实现的基石。面向对象编程语言是支持类或对象的语法机制,可以方便的实现面向对象编程的四大特性的编程语言。一般来讲,面向对象编程都是通过使用面向对象编

2021-02-14 12:12:57 586 1

原创 二叉树遍历总结

二叉树遍历总结简介遍历方式中序遍历前序遍历后序遍历代码实现中序实现递归迭代前序实现递归迭代后序实现递归迭代简介线性数据结构比如数组、链表、队列和堆栈都只有一种访问数据的方式,像树这样的非线性数据结构可以有不同的遍历方式。下面总结下二叉树的几种不同遍历方式。遍历方式中序遍历1、先遍历左子树2、在遍历父节点3、最后遍历右子树前序遍历1、先遍历父节点2、再遍历左子树3、最后遍历右子树后序遍历1、先遍历左子树2、再遍历右子树3、最后遍历父节点代码实现首先定义树的结构public

2021-02-13 10:35:49 310 1

原创 Docker+SpringCloud微服务部署

Docker+SpringCloud微服务部署1、背景2、服务器环境搭建2.1docker准备2.2 docker安装3、本地项目配置3.1、注册阿里云私有仓库3.2、项目配置4、启动服务4.1 启动nacos4.2 启动redis4.3 从阿里云拉取所需的镜像,启动镜像5、总结1、背景微服务架构下,原来所有服务均部署在一台云服务器上,时常会过载。现在增加了一台,总共七个微服务,加上nacos和redis,利用docker部署在两台云服务器上。2、服务器环境搭建2.1docker准备系统要求Do

2020-11-25 16:24:22 913

原创 windows+vscode安装paddleOCR运行环境

windows+vscode安装padddleOCR运行环境1、安装Anaconda32、安装paddle相关环境3、安装vscode4、在vscode里运行因为最近在做文本检测相关,想试着用用百度的paddle框架。1、安装Anaconda3官网下载安装包直接运行安装,然后新建python3.7环境2、安装paddle相关环境参考官网地址:https://www.paddlepaddle.org.cn/install/quick/zh/1.8.5-windows-piphttps://gi

2020-11-10 21:46:27 2323

原创 常见排序算法详细总结

常见排序算法详细总结前言排序算法的特性基于比较的排序和非比较的排序时间复杂度排序算法时间复杂度的简略证明空间复杂度排序算法的稳定性代码实现冒泡排序选择排序插入排序希尔排序归并排序快速排序堆排序二叉搜索树排序桶排序计数排序基数排序TimSort参考前言排序算法在计算机科学入门课程中很普遍,同时在面试和笔试中也经常涉及到,本文就总结了十二种排序算法供大家学习,当然排序算法有很多很多,本文只总结了常见的和经典的几种。排序算法的特性首先对于一个排序算法我们要做的不单单是搞懂原理和代码,更重要的是知道如何去评

2020-11-06 18:46:34 404

空空如也

空空如也

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

TA关注的人

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