- 博客(32)
- 收藏
- 关注
原创 解决二维矩阵找目标值(含图)
问题:编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:输入:matrix = [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21,23,26,30]],target = 5输出:true思路如图:代码如下:class Solution { public boolean searchMatrix(int[][] matrix, in
2021-01-29 22:01:18
309
原创 解决如何返回两个数组的交集
问题:给定两个数组,编写一个函数来计算它们的交集。示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2,2]要求:输出结果中每个元素出现的次数,应与元素在两个数组中出现次数的最小值一致。我们可以不考虑输出结果的顺序。解决思路一:哈希表由于同一个数字在两个数组中都可能出现多次,因此需要用哈希表存储每个数字出现的次数。对于一个数字,其在交集中出现的次数等于该数字在两个数组中出现次数的最小值。首先遍历第一个数组,并在哈希表中记录第一个数组中的每个数字以
2021-01-27 21:16:55
1006
原创 解决把数组中的0移到数组末尾,其他元素相对位置不变
问题:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]要求:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。解决思路:使用双指针,左指针指向当前已经处理好的序列的尾部,右指针指向待处理序列的头部。右指针不断向右移动,每次右指针指向非零数,则将左右指针对应的数交换,同时左指针右移。注意到以下性质:左指针左边均为非零数;右指针左边直到左指针处均为零。因此每
2021-01-26 20:30:16
2637
原创 compareTo()和compare()的详解和区别
背景:Java的Comparator和Comparable当需要排序的集合或数组不是单纯的数字型时,通常可以使用Comparator或Comparable,以简单的方式实现对象排序或自定义排序。一,compareTo():Comparable是排序接口。若一个类实现了Comparable接口,就意味着该类支持排序。实现了Comparable接口的类的对象的列表或数组可以通过Collections.sort或Arrays.sort进行自动排序。此外,实现此接口的对象可以用作有序映射中的键或有序集合中的
2021-01-18 12:06:13
1937
原创 ==和equals详解和使用
背景:在实操的过程中我们随时或者大部分会用到判断,而判断中大部分又是使用“==”或者“equals”。一,先说equals方法:equals方法对于字符串来说是比较内容的,而对于非字符串来说是比较,其指向的对象地址是否相同的。测试代码如下: //赋值形式 String s1 = "11"; String s2 = "11"; System.out.println(s1.equals(s2));//true //新建字符串
2021-01-18 11:38:22
388
原创 ROW_NUMBER() OVER()函数用法详解(含partition)
语法格式:row_number() over(partition by 分组列 order by 排序列 desc)row_number() over()分组排序功能:在使用 row_number() over()函数时候,over()里头的分组以及排序的执行晚于 where 、group by、 order by 的执行。例一:表数据:create table TEST_ROW_NUMBER_OVER( id varchar(10) not null, name v
2021-01-18 10:40:16
5603
原创 解决如何验证一个字符串是否是回文字符串
问题:验证一个字符串是否是回文字符串,只验证字符串中国的字母和数字,字母不区分大小写。解决方式一:先去除掉字符串中的非字母和非数字,通过reverse()方法逆序得到另一个字符串,若两个项目则是回文字符串;代码一:public boolean judge(String s1){ StringBuffer sber = new StringBuffer(); for(int i=0;i<s1.length;i++){ char c = s1.charAt(i); if(Ch
2021-01-13 20:12:19
1454
原创 maven项目打包出错
问题:在新接触了一个maven项目后,第一次导jar包不成功,后来下载jar放到当地的仓库中,jar包不报错,但就是install出错,打不了包。原因所在:1. 生成的***.lastUpdated文件:Maven在下载仓库中找不到相应资源时,会生成一个.lastUpdated为后缀的文件。如果这个.lastUpdated文件存在,那么即使换一个有资源的仓库后,Maven依然不会去下载新资源,或者说maven仓库中的某个构件如果因为网络或者其他的原因,没有下载成功或者下载被中断,将会出现一
2021-01-13 19:03:59
691
原创 解决两个数组顺序转换为一个数组
问题:两个顺序数组分别为num1,num2,长度分别为=m,n,如何转换为一个数组?要求:转换为一个有顺序的数组解决:public void getOne(int[] nums1, int m, int[] nums2, int n) { // Make a copy of nums1. int [] nums1_copy = new int[m]; System.arraycopy(nums1, 0, nums1_copy, 0, m); // Two get
2021-01-11 21:17:30
272
原创 解决返回数组中出现次数最多的数字
问题:给定一个数组,元素不为空要求:返回数组中出现次数最多的数字解决如下:private Map<Integer,Integer> getArr(int arr){ Map<Integer,Integer> mi = new HashMap<Integer,Integer>(); for(int entry:arr){ if(!mi.containsKey(entry)){ mi.put(entry,1); }else{ mi.put
2021-01-05 21:06:51
987
原创 解决int数组中,返回只出现过一次的数字
问题:给定一个int[]数组arrs,每个数据都不为空要求:返回数组中只出现过一次的数字例如:[1,2,2,4,4] 返回:1解决:public int static getOnly(int[] arrs){ int i = 0; for(int arr : arrs){ i ^=arr; } return i;}思路:异或 (i^=arr :i = i^arr)相同的数字异或为0:1⊕1=0,0⊕0=00与任意数字异或等于本身:0⊕2=2总结:所以
2021-01-04 20:56:16
207
原创 jdk8中LocatDateTime的应用
目前的项目开发中,大部分项目还是在使用jdk7或者jdk8,并不是最新的jdk版本不好用,而是选择比较稳定且够用的就行。需求: 在开发中,我们经常需要使用到时间,jdk7中经常使用如下Date date = new Date();SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//当前时间String dateTime = sdf.format(date);问题: jdk7中的Date是线程不安全的,且与sq
2020-12-30 14:52:48
213
原创 解决List如何一边遍历一边删除操作
在老项目中很少技术负责人会你遍历list的同时再进行删除操作,因为很容易报错,或者出现疏漏数据。不规范的代码:public static void main(String[] args) { List<String> platformList = new ArrayList<>(); platformList.add("博客园"); platformList.add("CSDN"); platformList.add("掘金"); fo
2020-12-29 18:11:22
943
原创 Number&Math类
Number出现背景:一般地,当需要使用数字的时候,我们通常使用内置数据类型,如:byte、int、long、double 等。然而,在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类型的情形。为了解决这个问题,Java 语言为每一个内置数据类型提供了对应的包装类。所有的包装类(Integer、Long、Byte、Double、Float、Short)都是抽象类 Number 的子类。Math:Java 的 Math 包含了用于执行基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数
2020-06-03 12:50:58
133
原创 static静态修饰符
一,修饰变量:当一个变量可以被多个对象共享时,可用static修饰该变量,比如教室号,可以被多个学生共享。静态变量的调用和对象无关,是属于该类的,存储在jvm的方法静态区。二,修饰方法:当方法被static修饰,可直接用类名.方法名调用三,修饰代码块:当代码块被static修饰时,只执行一次。四,修饰类:但有一种特殊用法是用static修饰内部类,普通类是不允许声明为静态的,只有内部类才可以。被static修饰的内部类可以直接作为一个普通类来使用,而不需实例一个外部类:需要注意的是当一个内部
2020-05-26 11:38:51
180
原创 内部类
一,内部类分为成员内部类和局部内部类,匿名内部类二,成员内部类:创建内部类对象:outer.inter in = new outer().new inter();内部类对象可以随意访问外部类的成员变量三,局部内部类:局部内部类只能在所属的局部方法中创建局部内部类对象若局部内部类想访问所属的局部方法中的变量,要保证该变量是不变的四,类的修饰符:外部类:public,default内部类:public,provide,defult,private局部内部类:什么都不能写,且不是默认的五,匿
2020-05-26 00:07:10
95
转载 Get https://registry-1.docker.io/v2/library/tomcat/manifests/latest:timeout
Docker配置镜像加速1、获取镜像地址 1.1、阿里云 打开网址:https://cr.console.aliyun.com/#/accelerator注册、登录、设置密码然后在页面上可以看到加速器地址,类似于:https://123abc.mirror.aliyuncs.com 1.2、腾讯云(非腾讯云主机不可用) 加速地址:https://mirror.ccs.ten...
2020-03-22 16:38:48
1638
原创 springboot中外部配置加载顺序
外部配置加载顺序SpringBoot也可以从以下位置加载配置;优先级从高到低;高优先级的配置覆盖低优先级的配置,所有的配置会形成互补配置1.命令行参数所有的配置都可以在命令行上进行指定java -jar spring-boot-02-config-02-0.0.1-SNAPSHOT.jar–server.port=8087 –server.context-path=...
2020-03-11 22:56:06
114
原创 springboot中加载配置文件的优先级
配置文件加载位置springboot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件–file:./config/–file:./–classpath:/config/–classpath:/优先级由高到底,高优先级的配置会覆盖低优先级的配置;SpringBoot会从这四个位置全部加载主配...
2020-03-11 22:52:48
158
原创 Profile配置使用
Profile1、多Profile文件我们在主配置文件编写的时候,文件名可以是application-{profile}.properties/yml默认使用application.properties的配置;2、yml支持多文档块方式yml文件比较方便,在一个yml文件中可以决定使用哪个,相较于多profile文件方法 server: port: 8081sprin...
2020-03-11 22:49:11
858
原创 springboot中配置文件占位符
配置文件占位符1、随机数常用以下几种随机${random.value}、${random.int}、${random.long}${random.int(10)}、${random.int[1024,65536]} 2、占位符获取之前配置的值,如果没有可以是用:指定默认值都是按添加的随机代码输出person.last-name=张三${random.uuid}perso...
2020-03-11 22:44:22
158
原创 springBoot中的yamz语法
以前的配置文件,大多使用xxx.xml文件,但springboot中国YAML:以数据为中心,比json,xml等更适合做配置文件,例子如下改变端口yaml语法:server:port: 8081XML语法:8081标签占了很大一部分代码YAML基本语法:k:(空格)v:表示一对键值对(空格必须有);以空格的缩进来控制层级关系;只要是左对齐的一列数据,都是同一个层级...
2020-03-11 15:22:19
306
原创 Spring的事务管理
1.Spring的事务管理:二类:声明式事务管理(通过配置实现)—AOP1.1XML方式的声明式事务管理 第一步:引入aop的开发包 第二步:配置事务管理器 第三步:配置增强 第四步:AOP的配置 测试1.2 注解方式的声明式事务管理 第一步:引入aop的开发包 第二步:配置事务管理器 第三步:开启注解事务 第四步:在业务层添加注解...
2020-03-09 14:07:51
118
原创 <bean>标签是使用
1.标签的id和name的配置 id :使用了约束中的唯一约束。里面不能出现特殊字符的。 name :没有使用约束中的唯一约束(理论上可以出现重复的,但是实际开发不能出现的)。里面可以出现特殊字符。2.Bean的生命周期的配置 init-method :Bean被初始化的时候执行的方法 destroy-method :Bean被销毁的时候执行的方法(Bean是单例创建,工厂关...
2020-03-09 13:49:17
187
1
原创 spring的IOC原理
一,spring框架的概述是一个分层的JavaSE/EE一站式的轻量级开源框架。二,spring的IOC底层工作原理IOC:Inversion of Control(控制反转)。控制反转:将对象的创建权反转给(交给)Spring。工作原理如图:在dao层,如果数据库由mysql改变为oracle,那么相应的实现类都要改,在一个项目中实现类很多,一个个去改,维护成本很大,把实现类交给sp...
2020-03-09 09:04:42
145
原创 在.xml文件中类似mysql中limit方法的oracle语句
limit的用法:常用于分页在xml文件中mysql语句:select * from category_limit #{start},#{count}category_ :表名start:为查询结果的索引值(默认从0开始),当i=0时可省略icount:为查询结果返回的数量i与n之间使用英文逗号","隔开作用相同的Oracle语句:select * from (se...
2020-02-17 15:53:05
2364
原创 Maven常用命令
maven五大常用命令:clean:清理作用:将将项目根目录下target目录清理掉complie:编译作用:将项目中.java文件编译为.class文件test:测试作用:将项目根目录下src/test/java目录下的单元测试类都会执行(前提是测试类是以XxxTest命名的)4.package:打包作用:将项目打包,打包到项目根目录下taget目录对应的项目类型的打包后的包类...
2020-02-12 11:35:10
117
原创 org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException:
Caused by: org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 16 in XML document from class path resource [applicationContext.xml] is invalid; nested exception is org.xml.sax....
2020-02-07 15:21:42
1753
原创 DEBUG [main] - Adding [systemProperties] PropertySource with lowest search
DEBUG [main] - Adding [systemProperties] PropertySource with lowest search precedence…DEBUG [main] - Adding [systemEnvironment] PropertySource with lowest searcao,userPojo,UserInfo,UserPojo2,employee...
2020-02-06 21:08:18
1868
原创 解决错误:java.lang.ExceptionInInitializerError
java.lang.ExceptionInInitializerErrorat mapper.UsersMapperTest.testGetUsersById(UsersMapperTest.java:17)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)报错:解决:找了好久的问题,最后发现是核心配置文件中配置的...
2020-02-05 08:34:02
832
原创 Error querying database. Cause: java.lang.IllegalArgumentException
org.apache.ibatis.exceptions.PersistenceException:Error querying database. Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for users.getUsersByRealname...
2020-02-04 15:56:36
5444
原创 Error querying database. Cause: java.lang.IllegalArgumentException;not contain
Error querying database. Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for users.getUsersByRealnamejunit测试报错:解决方式:每敲完一段代码,都保存(Ctrl+S)后,再运行;...
2020-02-04 09:52:05
896
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人