自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(193)
  • 收藏
  • 关注

原创 数组中数组中的第K个最大元素

因为 PriorityQueue 会根据提供的对象的自然顺序(也就是 compareTo 方法定义的顺序)来排序元素。如果你将 Node 对象添加到 PriorityQueue 中,那么队列将会根据节点的值从小到大来排列。

2024-05-08 12:45:38 107

原创 树的广度遍历和深度遍历

树的广度优先遍历和深度优先遍历(递归 非递归 Java实现)_树的深度优先遍历和广度优先遍历-CSDN博客

2024-03-25 17:20:32 198

原创 mysql知识点

SQL面试题

2023-01-28 11:03:38 643

原创 hashmap1.8特性

参考文章:https://www.freesion.com/article/5619192113/在JDK8之前是数组+单链表。在JDK8用的是数组+单链表+红黑树。当链表超过8且数据总量超过64才会转红黑树。JDK8规定,当链表长度大于8时,由单链表转化为红黑树;而当链表长度小于6时,又由红黑树转化为单链表)。loadFactor默认为0.75。7.HashMap中put方法的过程?答:“调用哈希函数获取Key对应的hash值,再计算其数组下标; 如果没有出现哈希冲突,则直接放入数组;如

2020-05-21 11:07:06 529

转载 线程池

ThreadPoolExecutorExecutors.newCachedThreadPool(无界线程池,自动线程回收) Executors.newFixedThreadPool(固定大小的线程池); Executors.newSingleThreadExecutor(单一后台线程);Core and maximum pool sizes 核心和最大线程池数量参数 翻译 ...

2020-05-07 17:51:57 287

原创 redis

1.redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载使用。2.丰富的数据类型,支持string,list, set,zset,hash

2019-08-12 17:46:10 260

原创 足球比赛

在足球比赛中,有2k个球队,其中强队k-1个,弱队k+1个,求强队相遇的概率。解题思路:假设,k为6,共有12个球队,7个弱队,5个强队1.先求总的比赛次数对于第一个球队有11种可能,第2个球队有9种,第3个球队是7种,最后的两个球队只有1种11*9*7*5*3*1=103952.再求强队不相遇的概率强队不相遇,则对于第一个强队,有7种选择,对于第二个强队,有6种。。7*6*5*...

2018-09-04 21:19:57 802

原创 最大公约数和最小公倍数

1、最大公约数最大公约数缩写为gcb,假设m>n.2、最小公倍数可以利用最大公约数来求得,lcm(a,b)=(a*b)/gcb(a,b)

2018-09-04 20:55:21 614

原创 idea中插入get和set方法

在idea中插入get,set方法,使用alt+insert,选择set和get,再选择相应的字段即可。

2018-06-26 21:16:28 3793

原创 maven解决依赖冲突

在项目的开发过程中,常常需要解决jar包依赖冲突的问题,因此在这里总结一下maven的相关用法。1. mvn dependency:tree显示项目的整个依赖树,用来排查依赖冲突。2. mvn dependency:tree -Dverbose详细显示依赖信息,把版本冲突中被抛弃,重复的都显示出来,便于排查问题3. mvn dependency:tree -Dverbose -->test....

2018-06-21 16:47:08 504

原创 时间类型转换

在日常的开发中,常会用到时间类型的转换,在这里总结几种常用的时间类型转换情况。1、将string转换为datepublic Date strToDate(String str){ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); ParsePosition pos = new Pars...

2018-06-12 20:45:38 1234

原创 单元测试TestCase类

junit中的TestCase类,提供了多种断言的方法,assertEquals方法,assertEquals(Object expected,Object actual):根据equals()方法,如果expected和actual不相等则失败;否则通过测试。...

2018-04-27 17:50:29 2058

原创 JavaScript(3)

本文参考imooc网的相关资料:https://www.imooc.com/code/2343.1数组 我们创建数组的同时,还可以为数组指定长度,长度可任意指定。var myarray= new Array(8); //创建数组,存储8个数据。 给数组赋值:第一种方法:var myarray = new Array(66,80,90,77,59);//创建数组同时赋值第二种方法: var myar...

2018-04-26 15:56:44 286

原创 JavaScript的基本操作(2)

参考:本文参考了imooc网的部分学习资料https://www.imooc.com/code/4097、prompt提问、消息对话框prompt(str1,str2),输入框默认为第二个参数str2的值,可以被修改,如果不修改,就为默认值。8、打开窗口9、关闭窗口10、通过id获取元素11、innerHTML属性innerHTML属性用于获取或替换HTML元素的内容12、HTML样式<p ...

2018-04-25 20:36:17 263

原创 JavaScript的基本操作

参考:本文参考了imooc网的部分学习资料https://www.imooc.com/code/409在日常的开发中,有时候需要服务端的同学写一些简单的前端页面,因为需要适当的掌握一些js的内容。1、js的标签都是成对出现的,<script type="text/javascript">        document.write("开启JS之旅!");</script>2...

2018-04-25 20:09:59 595

原创 一致性hash算法

场景:需要把100张图片,存到3个服务器中。1、固定hash算法。将hash(图片名称)%N,N一般是机器数。如果原来是3台机器,加了一台机器,就变成了hash(图片名称)%4,这样大部分的数据都需要进行迁移。固定hash算法的缺点是,当机器数目变化时,大量的数据需要迁移。2、一致性hash算法为了解决这个问题,一致性hash算法:(1)第一步,也是将hash(图片名称)%(2^32)(2)第二步...

2018-04-10 17:54:56 290

原创 idea中常用快捷键总结

在使用idea过程中,熟练使用快捷键可以提高工作效率,再次总结一下工作中常用到的几个快捷键。查找类 ctrl+N查找文件  ctrl+shift+N查找函数    ctrl+alt+shift+N查找字符串  ctrl+shift+f添加断点    ctrl+F8单步运行    F8跳到下一个断点(如果没有断点了,就直接运行)   F9...

2018-04-04 14:36:54 386

原创 maven中pom.xml解析

在工作中使用maven来管理项目1、<groupId>反写公司网址+项目名</groupId>2、<artifacted>项目名+模块名</artifacted>3、<version>0.0.1snapshot</version>第一个0表示大版本号第二个0表示分支版本号第三个0表示小版本号snapshot快照版本alpha内...

2018-04-03 20:55:53 514

原创 常用的git命令

每天都用到git操作,在这里总结一下,在工作中常用到的git命令。下载一个git bashcd d     //切换到d盘cd..      //回到上层目录ls         //查看目录下的所有文件pwd    //当前路径分支的操作git branch          //查看当前分支git branch -a      //查看所有分支git status           //当前...

2018-04-03 20:28:32 297

转载 在github中添加ssh

参考文章:https://www.cnblogs.com/ayseeing/p/3572582.html遇到的问题:之前自己添加了ssh key,但是每次操作的时候都需要重新输入密码,非常的麻烦,不知道为何。找了好久的原因都没找到。后来发现是自己在初次生成id_rsa时,选择了每次操作都需要输入密码。解决办法:删除原来的id_rsa文件,全部重新配置一次。附上完整的,在github中添加ssh的方...

2018-04-03 14:23:57 626

原创 阻塞队列

1、阻塞队列阻塞队列与普通队列的区别在于, 当队列是空的时,从队列中获取元素的操作将会被阻塞, 或者当队列是满时,往队列里添加元素的操作会被阻塞。试图从空的阻塞队列中获取元素的线程将会被阻塞,直到其他的线程往空的队列插入新的元素。 同样,试图往已满的阻塞队列中添加新元素的线程同样也会被阻塞,直到其他的线程使队列重新变得空闲起来,如从队列中移除一个或者多个元素,或者完全清空队列,阻塞队列(Blo

2017-11-08 22:17:01 384

原创 java中的instanceof的用法

instanceof运算符用法运算符是双目运算符,左面的操作元是一个对象,右面是一个类.当 左面的对象是右面的类创建的对象时,该运算符运算的结果是true,否则是false 例如 a instanceof A 如果a是类A的实例,就返回true,否则的话,就返回false。interface A{ } class B implements A{ } class

2017-11-07 22:21:23 1898

原创 http协议

httphttp协议工作于客户端-服务器架构之上。 http是应用层协议,常基于tcp的连接方式。 HTTP默认端口号为80。http的特点:(1)http是无连接的。 每次连接只处理一个请求,服务器处理完客户的请求,并受到客户端的应答后,即断开连接,采用这种方式可以节省传输的时间。 (2)http是无状态的。 http是无状态协议,无状态协议是指对于事务处理没有记忆能力,缺少状态意味着如

2017-11-07 22:09:30 330

原创 cookie和session

cookie和session1、cookie将数据保存在客户端,cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,如果主要考虑安全应当使用session单个cookie在客户端的限制是3k2、session将数据保存在服务器端,session会在一定时间内保存在服务器上,当访问增多,会比较占用服务器的性能,如果主要考虑减轻服务器性能方面,应当使

2017-09-25 21:39:49 338

原创 上台阶问题

上台阶问题,一次上一层或两层,请问上n层的时候,有多少种方案。f(n)=f(n-1)+f(n-2)import java.util.*;public class GoUpstairs { public int countWays(int n) { // write code here int[] arr=new int[n+1];

2017-09-17 21:25:43 669

原创 排序算法

排序算法总结冒泡排序:时间复杂度O(N^2)冒泡的思想:第一个数和第二个数比较,如果第一个大就交换,接着第二个数和第三个数比较。                     这样第一次循环结束,就能把最大的一个数放在最底部。实现的代码:import java.util.*;public class BubbleSort { public int[] bubble

2017-09-12 22:29:59 901

原创 二叉树的层序遍历

java队列队列是一种特殊的线性表,它只允许在表的前端进行删除操作,而在表的后端进行插入操作。LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用。二叉树的层序遍历思路:设置两个标志last和nlast,last为本层的最右结点,nlast为队列尾部的结点。node为当前结点,当

2017-09-12 20:55:53 659

原创 idea快捷键

在idea中,自动生成try和catch的快捷键。选定代码块,ctrl+alt+t

2017-09-07 19:37:19 501

原创 忽略idea中的错误

在idea中,有时没有问题,但是idea提示错误,用红色的波浪线标注。如何去掉:按下Alt-Enter。 看到弹出菜单了吗?有一项的子菜单是Disable Inspection。选了就好了。

2017-09-06 14:51:03 3903 2

原创 动态查看最近300行的代码

在项目中,经常需要查看线上的项目日志。动态查看最新300行的代码。tail -300f 文件名

2017-09-05 19:49:43 1835

原创 Restful设计

1、Restful设计get   查询post 添加/修改put  修改delete  删除2、url映射学习视频地址:http://www.imooc.com/video/11728@RequestMapping注解:(1)支持标准的URL(2)Ant风格URL(即?和*和**等字符)?表示匹配一个字符,*表示任意字符,**表示任意URL路径(3)

2017-09-05 11:38:19 297

原创 java获得指定时间的时间戳

在java中常常需要用到,获得指定时间的时间戳。下面的程序是我写的生成10位时间戳的代码,package test;import java.text.ParseException;import java.text.SimpleDateFormat;import java.text.DateFormat;import java.util.Calendar;public class

2017-09-04 20:54:06 33063 1

原创 更新本地所有分支

git pull --all

2017-08-29 10:45:33 3086

原创 有几个PAT

字符串APPAPT中包含了两个单词“PAT”,其中第一个PAT是第2位(P),第4位(A),第6位(T);第二个PAT是第3位(P),第4位(A),第6位(T)。现给定字符串,问一共可以形成多少个PAT?输入描述:输入只有一行,包含一个字符串,长度不超过105,只包含P、A、T三种字母。输出描述:在一行中输出给定字符串中包含多少个PAT。由于结果可能比较大,只输出对10000000

2017-08-28 17:10:14 399

转载 mysql联合索引

MySQL 联合索引建立应该遵循左到右顺序,以where时候可能的column排序为基准。如果例如:where firstname='' and lastname='' and age=''建立的联合索引顺序应该为key(firstname lastname age),这样就相当于建立一个key(firstname)、一个key(firstname lastname

2017-08-26 21:30:43 476

原创 最大子数组的和

最大子数组的和思路:采用动态规划的思路,假设对于元素i,所有以它前面的元素结尾的子数组的长度都已经求得,那么以第i个元素结尾且和最大的连续子数组实际上,要么是以第i-1个元素结尾且和最大的连续子数组加上这个元素,要么是只包含第i个元素。当i-1个元素的最大和大于0时,加上第i个元素自然会更大。当i-1个元素的最大和小于0时,第i个元素本身更大。import java.util.

2017-08-26 21:24:28 452

原创 第K大的数

第k大的数。思路:利用java自带的排序函数进行排序。int[] a={1,4,-1,5,0};Arrays.sort(a);(1)Arrays类中的sort()使用的是“经过调优的快速排序法”;(2)Arrays类之只是提供了默认的升序排列,没有提供相应的降序排列方法。(默认从小到大排序)。import java.util.*;public class

2017-08-26 21:11:01 764

原创 java读入一个不确定长度的一维数组

在java中常常需要读入一个不确定长度的一维数组。思路:用nextLine读入一行,

2017-08-26 20:56:38 10745 4

原创 第一个只出现一次的字符

第一个只出现一次的字符。思路:先遍历一边字符串,使用hashmap格式保存每个字符出现的次数。再遍历一次,遇到第一个value为1的key,就返回。(即第一个只出现一次的字符)package test;import java.util.HashMap;public class day45 { public static void main(String[] arg

2017-08-25 11:15:06 239

原创 最长公共子字符串

最长公共子字符串 这是一个非常的经典的动态规划问题。 解题思路: 创建一个二维数组,dp[n][m],其中dp[i][j]表示取到s1[i]和s2[j]时的最大连续子串长度。如果s1[i]等于s2[j]时,dp[i][j]=dp[i-1][j-1]+1。public class day43 { public static void main(String[] args) {

2017-08-24 17:37:01 304

空空如也

空空如也

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

TA关注的人

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