自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 mysql总结

sql语句//修复系统号字段ALTER TABLE issue_item add `create_user_code` bigint(20) NOT NULL DEFAULT '-1' COMMENT '创建人系统号';alter table issue_item change column  user_code issue_user_code  bigint(20) NOT NULL D...

2019-02-26 16:40:55 247

原创 链表(拆分,反转,合并)

题目描述 Given a singly linked list L: L 0→L 1→…→L n-1→L n,reorder it to: L 0→L n →L 1→L n-1→L 2→L n-2→…You must do this in-place without altering the nodes' values.For example,Given{1,2,3,4}, r...

2018-09-07 20:18:43 1499

原创 sort-list(归并排序和插入排序使得链表有序)

题目描述Sort a linked list in O(n log n) time using constant space complexity.归并排序算法:时间复杂度是O(logn),对于数组,空间复杂度是O(n),对于链表空间复杂度是O(1)链表的归并排序:(1)根据快慢指针知道中间的指针(2)把链表从中间位置的指针断开(3)递归调用,不喝合并两个有序的两部分链表...

2018-09-06 09:20:07 569

原创 矩阵中的路径(回溯法)

题目描述请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子。 例如 a b c e s f c s a d e e 这样的3 X 4 矩阵中包含一条字符串"bcced"的路径,但是矩阵中不包含"abcb"路径,因为字...

2018-08-31 14:54:44 719

原创 MyBatis(三)全局配置文件SqlMapConfig.xml的配置内容

properties属性这个前面使用jdbc的时候就使用过的db.properties文件,这个文件存储的是键值对信息,那么我们可以把数据库的一些原始信息放到这个文件中,然后在sqlMapConfig.xml文件中通过取值来配置,这样就不会把数据库信息硬编码到程序中。比如修改了数据库密码,直接修改properties文件即可。 setting设置全局参数 设置mybatis运行...

2018-08-30 12:35:31 421

原创 二叉搜索树的第k个结点(中序遍历顺序的第k个)

题目描述给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8)    中,按结点数值大小顺序第三小结点的值为4。思路:递归求中序遍历,然后序列的第k个就是要求的 /*public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null;...

2018-08-29 21:10:11 946

原创 序列化二叉树(层次遍历)

题目描述请实现两个函数,分别用来序列化和反序列化二叉树 import java.util.ArrayList;import java.util.Iterator;import java.util.LinkedList;import java.util.Queue;/*public class TreeNode { int val = 0; TreeNode ...

2018-08-29 21:08:36 1213

原创 把二叉树打印成多行(利用队列的先进先出)

题目描述从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。思考与上一道之字形打印二叉树的区别 这个是每一行的方向一样先添加一层,然后把这层的节点从左到右的添加进去,只能用队列,这样下次添加的时候利用队列的先进先出原则,首先取出的时上一层最左边的节点,再依次添加,遍历队列借助Iterator。刚开始利用栈,顺序弄不到,这一道与上一道很好的区别的栈和队列的区别。之...

2018-08-29 17:50:10 357

原创 按之字形顺序打印二叉树(用栈分奇偶行不同方向添加打印)

题目描述请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 分层处理:利用两个栈,一个栈存储奇数层的节点,一个栈用来存储偶数层的节点当遍历到奇数层节点时,利用上一偶数层栈中的节点向奇数层栈添加节点当遍历到偶数层节点时,利用上一奇数层栈中的节点向偶数层栈添加节点注意添加时的方向不同...

2018-08-29 17:02:26 353

原创 对称的二叉树

题目描述请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。把一棵树分成左后两半,从上往下比较 class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val)...

2018-08-29 15:34:33 122

原创 二叉树的下一个结点(根据中序遍历的特点)

题目描述给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 根据中序遍历的特点:(1)如果当前节点有右孩子,那么中序遍历的时候,下一个节点就是右孩子的左节点方向一直到叶子节点的左孩子(2)当没有右孩子,寻找父节点,找到一个父节点指向的左孩子就是当前节点,返回这个父节点:如果这个节点是父节点的左孩...

2018-08-29 14:55:39 632

原创 删除链表中重复的结点(递归)

题目描述在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5class ListNode { int val; ListNode next = null; ListNode(int val) {...

2018-08-29 14:38:21 788

原创 链表中环的入口结点(快指针慢指针相遇)

题目描述给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 (1)快的指针一下走两个节点,慢的指针一下有一个节点,当两个指针相遇时,说明肯定有环(2)相遇时,快的一共走过的节点是2x,慢的一共走过的节点是x;而两个指针都是从起点开始出发,到环入口点走过的节点是一样的,所以2x-x就是环节点的整数倍,刚好就x,刚好就是慢的节点所走的节点数目,也就是慢的节点从头...

2018-08-28 22:24:52 318

原创 构建乘积数组

题目描述给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。 刚好分成两部分求解public class Solution {   public int[] multiply(int[] A) {               ...

2018-08-28 16:55:26 216

原创 数组中重复的数字(利用hash数组)

题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。        因为数组中的元素都是0到n-1的,所以数组的值可以作为数组的下标,hash数组原始都为为,遍历原数组,...

2018-08-28 15:48:03 1738

原创 孩子们的游戏(圆圈中最后剩下的数)

题目描述每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0...m-1报数....这样下去.....

2018-08-28 15:02:20 139

原创 堆排序以及TopK问题

 堆排序利用数组来实现堆,堆分为小顶堆和大顶堆小顶堆:父亲节点的值小于左右孩子节点大顶堆:父亲节点的值大于左右孩子节点 如果是对数组从小到大排序(1)为数组构建一个初始大顶堆,则数组的第一个元素就是数组最大的元素(2)循环N-1一次,每次把数组的最后一个元素与数组第一个元素交换,然后数组长度从后减1,再对新的数组重复第一步,然后在重复第二步,知道数组的长度为1pack...

2018-08-27 16:06:47 1827

原创 MyBatis(二)--原始开发DAO以及Mapper代理开发DAO

在前面的学习中,我们是SqlSessionFactoryBuilder创建SqlSeesionFactory,SqlSeesionFactory可以用单例模式的方法,每次操作只用创建一次工厂就可以了,那么SqlSessionFactoryBuilder就相当于一个工具类来使用。最重要的就是sqlsession,它不能是单例的,它用来执行sql语句,语句中有数据属性,如果只有一个全局变量,在多线程的...

2018-08-27 09:38:01 177

原创 把字符串转换成整数(char与int的转换)

题目描述将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。输入描述:输入一个字符串,包括数字字母符号,可以为空输出描述:如果是合法的数值表达则返回该数字,否则返回0 num+=(ch[i]-48)*(int)M...

2018-08-26 20:44:33 2701

原创 不用加减乘除做加法

题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。public class Solution { public int Add(int num1,int num2) { while(num2!=0){ int temp=num1^num2; num2=(num1&num2)...

2018-08-26 17:48:36 150

原创 求1+2+3+...+n(巧用递归)

题目描述求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。public class Solution { public int Sum_Solution(int n) { int sum=n; boolean ans=(n>0 && (...

2018-08-26 17:35:16 2870

原创 扑克牌顺子(利用栈)

题目描述LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子.....LL不高兴了,他想了想,决定大\小 王可以看成任何数字,并且A看作1,J为11,Q为12,K...

2018-08-26 16:29:25 185

原创 MyBatis(一)原理过程实现crud以及自增主键的返回

MyBatis是一个用在持久层的框架,也就是操作数据库的。在前面的学习中,我们通过原生jdbc操作数据库。以及spring框架中封装的JdbcTemplate框架来操作数据库。原生态jdbc程序问题(1)数据库的连接关闭操作复杂,效率慢(2)sql语句的编写和preparedStatement执行sql语句中注入参数都是在java语句中,是硬编码(3)从resutSet中遍历结...

2018-08-26 12:22:07 2516

原创 http状态码,http请求方法,http报文格式字段,重定向和转发的区别

当浏览器发起http请求,服务器在响应http请求时,会把http状态码加载响应报文的状态行中,状态码的含义如下  1** 信息,服务器收到请求,请求者继续操作   2** 成功,操作成功接收并处理 200:请求成功 3** 重定向,需要进...

2018-08-25 17:25:16 1158

原创 TCP拥塞控制、网络各层协议

我们知道TCP和UDP都是传输层的协议,最大的区别UDP无连接是面向报文的,不保证可靠传输,无拥塞控制,就是TCP是面向连接的协议,能提供安全,可靠,有序的数据传输,保证数据无差错,不丢失,不重复按序到达那么TCP是如何保证可靠传输的?(1)校验和如果接受到的段检验和有差错,TCP将丢弃这个段,且不会确认收到(2)流量控制流量控制的目的是防止数据丢失,如果发送方发送的太快,接收...

2018-08-25 16:57:14 2221

原创 springmvc(三)注解处理器映射器,注解处理器适配器

首先在springmvc.xml文件中配置注解的处理器映射器和处理器适配器这两行的配置相当于下面一行配置,开启mvc的注解驱动那么处理器适配器和映射器都是基于注解的,接下来就是开发基于注解的Handler 开发注解的Handler第一个注解@Controller,表明这是一个Controller第二个注解@RequestMapping("/queryItem3.action...

2018-08-25 11:03:02 1741

原创 springmvc(二)非注解处理器映射器,非注解处理器适配器

非注解的处理器映射器前面我们使用的非注解的映射器是BeanNameUrlHandlerMapping,还有一种就是SimpleUrlHandlerMapping,可以配置多个映射,比如多个url对应同一个handler。第一个映射器根据handler的bean的name属性查找handler,后一个映射器可以根据Handler bean的id属性配置映射关系。在springmvc的配置文件...

2018-08-25 10:29:04 462

原创 网络基础(一)---http、https、session、cookie

http和https的区别 http开头的请求是HTTP超文本传输协议运行在TCP协议上。超文本传输协议是一种应用层协议,是一种无状态的数据传输协议,客户端和服务端都无法验证彼此的状态。需要借助session和cookie。默认端口是80。http封装的数据都是明文的,可以通过抓取获得,不安全。https:是在http的基础上增加了加密,认证操作,是一种安全的http,https的默认...

2018-08-24 22:29:12 1447

原创 springmvc(一)原理分析及配置前端控制器,处理器映射器,处理器适配器

springmvc是spring的一部分,是一个基于mvc设计模式的前端框架工作流程前端控制器(DispacherServlet):负责转发请求,接受用户的请求,申请处理后,将响应返回给客户处理器映射器(HandlerMapping):前端控制器把请求转发给处理器映射器。处理器映射器根据请求中的URL,找到对应的Handler(相当于struts2的Action),返回给前端控制器。...

2018-08-24 10:21:38 9661

原创 Tomacat类加载机制

Tomacat类加载机制tomcat中提供了多种类加载器,以便web应用程序部署到tomcat中可以共享类加载器也可以加载各自应用中WEB-INF的lib目录下面导入的类。在Tomcat启动的时候就会初始化它当中的类加载器。在Tomcat的目录结构中有/common/*   /server/*  /shared/*三个目录结构来存放tomcat应用程序能用到的类库,以及/WEB-INF/*...

2018-08-23 15:50:21 595

原创 JVM(十五)深入理解线程上下文类加载器

在复习前面的类加载机制时发现对线程上下文类加载器的概念很模糊,所以今天再来总结一下线程上下文类加载器 我们知道JVM虚拟机采用双亲委派模式来加载类,而且在类加载的整个过程中只有在加载阶段可以别程序员操作,加载器通过类的全限定名在class文件的二进制流中加载类,并创建类的唯一一个class对象,作为类的全局访问点。我们知道为了实现程序的动态性,我们可以自定义类加载器,通过重写findCla...

2018-08-23 12:08:38 7188 4

原创 素数伴侣(二分图最大匹配问题&匈牙利算法)

题目描述题目描述若两个正整数的和为素数,则这两个正整数称之为“素数伴侣”,如2和5、6和13,它们能应用于通信加密。现在密码学会请你设计一个程序,从已有的N(N为偶数)个正整数中挑选出若干对组成“素数伴侣”,挑选方案多种多样,例如有4个正整数:2,5,6,13,如果将5和6分为一组中只能得到一组“素数伴侣”,而将2和5、6和13编组将得到两组“素数伴侣”,能组成“素数伴侣”最多的方案称为“最...

2018-08-22 12:32:02 1322

原创 多线程(ReetrantLock搭配condition)

题目描述问题描述:有4个线程和1个公共的字符数组。线程1的功能就是向数组输出A,线程2的功能就是向字符输出B,线程3的功能就是向数组输出C,线程4的功能就是向数组输出D。要求按顺序向数组赋值ABCDABCDABCD,ABCD的个数由线程函数1的参数指定。[注:C语言选手可使用WINDOWS SDK库函数]接口说明:void init();  //初始化函数void Release(); ...

2018-08-22 10:25:21 272

原创 字串的连接最长路径查找(Scanner.next()和Scanner.nextLine())

题目描述给定n个字符串,请对n个字符串按照字典序排列。输入描述:输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。输出描述:数据输出n行,输出结果为按照字典序排列的字符串。示例1输入9captocatcardtwotooupboatboot输出boatbootcap...

2018-08-21 23:00:07 137

原创 提取不重复的整数(LinkedHashMap)

题目描述输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。输入描述:输入一个int型整数输出描述:按照从右向左的阅读顺序,返回一个不含重复数字的新的整数示例1输入9876673输出37689 利用set的没有重复值可以去重,但是set是无序的,遍历set的时候,输出顺序不一定,所以借助实现类LinkedHashSet,使用...

2018-08-21 22:17:57 553

原创 取近似值(Math.round和folat-(int)float)

题目描述写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于5,向上取整;小于5,则向下取整。输入描述:输入一个正浮点数值输出描述:输出该数值的近似整数值示例1输入5.5输出6 应用的知识点: 可以借助Math.round()方法实现四舍五入 自己实现 小数强转整数,直接截尾int和float类...

2018-08-21 22:11:51 1279

原创 质数因子(递归)

题目描述功能:输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 )最后一个数后面也要有空格输入描述:输入一个long型整数输出描述:按照从小到大的顺序输出它的所有质数的因子,以空格隔开。最后一个数后面也要有空格。示例1输入180输出2 2 3 3 5 (1)递归不会超时package xidia...

2018-08-21 20:41:30 770

原创 Spring(五)------spring的事务管理

spring事务管理使得我们不用再去处理获得连接,关闭连接,事务提交和回滚等操作,不用大量的try-catch-finally语句编程式事务管理(不用)声明式事务管理  基于xml配置文件实现事务管理  (1)进行事务操作引入spring的最全约束<?xml version="1.0" encoding="utf-8"?><beans xmlns="h...

2018-08-21 17:48:53 114

原创 进制转换(Integer.parseInt(num.int radix))

题目描述写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 )输入描述:输入一个十六进制的数值字符串。输出描述:输出该数值的十进制字符串。示例1输入0xA输出10 (1)利用Integer自带的进制转换方法实现package xidian.lili.huawei;import java.util.Scanne...

2018-08-21 17:10:17 1969

原创 Spring(四)------spring的jdbcTemplate操作、配置连接池

spring是一站式框架,就是在javaee三层中,每一层都有解决技术而jdbcTemplate技术用在dao层jdbcTemplate实现crud操作 增加  首先导入数据库操作所需的jar包  创建类,测试用JdbcTemplate技术操作数据库(1)设置数据库信息,相当于配置连接池(2)创建JdbcTemplate对象,把配置好的数据库信息传到JdbcTem...

2018-08-20 22:40:29 2760

空空如也

空空如也

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

TA关注的人

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