自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

didihan

慢慢发展

  • 博客(51)
  • 问答 (2)
  • 收藏
  • 关注

原创 面试相关

好久没写了,出来混一下。主要要面试了,总结一些面试的相关知识点。可以临时看一下,回顾回顾。先来一个快排吧。public class day1 { public static void main(String[] args) { int[] x = {3,45,78,64,52,11,64,55,99,11,18}; sortArray(x); } public static int[] sortArray(int[] nums) {

2020-12-20 16:52:47 106

原创 spring

Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架,减少了耦合性(现在学的不深入)。在Mean中建立,看视频看了半天不知道怎么导包,到最后才发现原来只要安装一下就好了,包只要写上,没问题就可以导入了。程序都是具有耦合性的,为了降低耦合性,可以采用工厂的方式去降低耦合性,由app交给程序去创建对象到了app交给工厂,再由工厂让程序去创建对象,而Spring则是对这个工厂进行了封装和改良,也就是一个改良工厂,我的理解奥。怎么写spring呢,先写一个配置文件xml:<?xm

2020-09-24 19:46:17 238

原创 jstl

jstl是jsp的标签库,可以取代jsp中的某些java代码提高可读性,增加简洁性。这个要导包。先域中加数据:<c:set scope="request" var="key" value="key1"></c:set> ${key}if标签:<c:if test=" 10 = 10"> 10 = 10</c:if>test内的是判断条件,且没有else,但是有choose标签:<%request.setAttribut

2020-09-21 14:22:55 94

原创 jsp-TL

jsp中在页面的输出中有些许的繁琐,而EL就代替了jsp中的表达式来进行输出,EL显的更加简洁如:表达式:<%=request.getAttribute(“key”)%>EL:key且在输出null的时候表达式会输出null,而EL则不会输出在四个域中都含有key值的时候就存在了先后顺序:pageContext>request>session>application,但是你要输出特定的域中的值时只要{key}且在输出null的时候表达式会输出null,而EL则不会输出

2020-09-21 13:38:49 152

原创 javaweb-jsp

和html差不多的也是一种页面的生成方式,但是这个涉及到了Servlet,他是可以融合Servlet去使用的,但是在页面的产生上和html一致。直接说九大对象了request 请求对象response 响应对象pageContext jsp的,上下文对象session 会话对象appIication ServletContext对象config ServIetConf ig对象out jsp

2020-09-18 18:49:43 65

原创 JAVAweb-cookie

Cookie,有时也用其复数形式 Cookies。类型为“小型文本文件”,是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息可以用于账号的重新登录,不用再次输入账户名一类的操作具体如下:protected void creatcookie(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOExcept

2020-09-18 15:18:59 65

原创 javaweb(1)

其实昨天就在看这个了,学了一半的Mybatis突然发现没有学javaweb的东西,而且大多数人都是推荐先学Spring,我有点本末倒置了,所以关于Mybatis的学习先告一段落了。昨天主要时在配环境,搞了半天才发现我下的idea是低配版的没有Tomcat,我还去搜了半天,真的难啊,然后又去下一个完整版的,还要通过一些特殊手段去搞一下时间,弄了差不多一下午,后面也就学了一些Tomcat的基本操作和配置而已。今天学的是Servlet,前面的也没啥好说的就直接从ServletConfig说吧Servletv

2020-09-18 11:59:17 89

原创 关于学习的

我所学的内容都是尚硅谷上面学的,所以对于学习的总结上面有很多都是一样的,图也是那里偷的,见谅见谅

2020-09-17 14:05:50 41

原创 Mybatis(1.2)

以下是关于Mybatis中的全局配置文件的编写要求:先把提示包导进去,百度把,我也是百度的讲一下几个标签<properties></properties>是一个配置文件的导入标签,比如说url,passwo,driver,user的导入,有两个内容:resource = “” (写包下的路径)和 url = “”(写盘下的路径);这个东西有点多,自己去看吧<typeAliases></typeAliases>先放一个<typeAl

2020-09-16 15:08:15 83

原创 Mybatis(1)

今天开始Mybatis的框架学习,昨天没有学习主要是因为有一个游戏刚刚上线了是原神,玩了一天,脑子晕晕的。今天又开始学习咯。Mybatis是一个对于jdbc的一种封装,将我们对数据库的几步操作(填写sql,sql预处理,设置参数,运行sql语句,结束)给封装了,只剩下了填写sql语句来给我们进行编译,其他的步骤都做好了。接下来说一下Mybatis的使用。加载jar包这是不用说的写一个Mybatis的xml的配置文件io流加载xml的配置文件获取SqlSession实例编写sql的xml文件去

2020-09-16 14:01:54 67

原创 jdbc(3)

最后一天jdbc的学习总结,学完咯,用了3天,还是长了一点,今天学了数据库连接池和dbutils的使用数据库连接池是什么?用户在申请数据库连接时,通常会获取一个Connection和一个preparedstatement,但是如果一次性的有太多的用户来申请了数据库的使用,这时候数据库可能就顶不住了,就像双十一的用户量,正常的数据库怎么会顶得住大量的访问呢,这时候就出现了数据库连接池,来规划用户的访问,它会设计最大的Connection的建立和最小的建立,同样他会对preparedstatement的数量

2020-09-14 19:16:24 102

原创 jdbc(2.3)

今天还有一个DAO的代码块代码如下:(内容都将了没啥讲的就放一下DAO好了,都是基于事务的需要传入con)import java.lang.reflect.Field;import java.sql.*;import java.util.ArrayList;import java.util.List;import util.until;public class basedao { //全部是传入con来实现的保证事务流的实现 /** * 增删改的通用 *

2020-09-13 20:01:22 65

原创 jdbc(2.2)

由于今天学的内容有点小多,就分开说了。讲一下事务:事务看名字就知道和事情有关系,这确实是和事情有直接关系,这是要我们去区分一些事情是应该同时去完成的还是可以分布完成的应该知识点。如银行转账问题,由张三转给王五500块,如果将它分为2件事情,张三的钱减少500,王五的钱增加500的话,如果在张三的钱减少后网络出现了问题使得王五的钱还没有增加就终止的服务,那么这件事情就有问题了,但是如果我们把这件事情看作一件事,一起增减或者都不变化,这就是事务,事务的都不变化也称为回滚,返回到事务发生之前。那么如何去完

2020-09-13 19:45:48 308

原创 jdbc(2)

今天在学习jdbc是遇到了一个问题,关于批量操作的以下是我的代码:@Test public void testinsert() throws Exception { Connection con = null; PreparedStatement ps = null; try { long time = System.currentTimeMillis(); con = jdbcutil.getcon

2020-09-13 12:26:13 57

原创 jdbc(1)

前言:学校的短实习结束 ,学了一些html上的操作,虽然以前就学过了,但是没怎么学好,这次算是学的差不多了,,html的好像也没有什么好总结的就不写了,我最后做出的项目也不是很好看也就不发了,嘿嘿,快要出去找实习了,现在要好好看工作相关的内容了,我想做的是java开发类的岗位,找了半天我应该学什么,终于找到了,先学jdbc,后学什么我就不在这里说了。jdbc:在我学习的认识中,就是一个java和数据库的一个api接口,也就是一个规范化的接口,反正是挺有用的,作用就是和数据库连接了。说几个主要的吧 1.

2020-09-12 20:19:59 92

原创 队列的实现(链表方法)

队列的实现就显的有点麻烦了,因为队列是一种先进先出的数据结构,如果是用数组去做的话,就会导致数组的浪费,因为当你pop的时候,头指针向后移动,会导致index从0开始向后面的逐步浪费,但是你如果在pop操作后让数组先前移动的话,又会导致时间复杂度上的提升,所以用数组去完成队列的操作就会显的不是很完美;(其实我觉得可以让数组变成一个环路,当尾指针指向size的时候就让他从0开始,当头和尾相撞的时候呢就报超模了,在扩容的时候就扩容(判断尾指针的位置进行一下复制的操作)这样的话就不会出现上述的问题,但是在扩容的

2020-09-05 11:18:14 501

原创 栈的简单实现

做几种简单的数据结构,先做一个栈的操作实现好了,栈其实还是挺简单的一个东西,重要要只会去使用,而不知道他的基础实现,现在我就简单的分析一下栈的基础实现;栈就像是一栋楼,一层层的,这层楼的数据类型可以自己去定义,我就简单说一下String的好了;首先我们要清楚栈是一个什么东西,他是一种先进后出的一种数据结构,不像链表的结构,是环环相扣的,一个接着一个,栈其实就是一个数组,一个由你来定义数据类型的可以实现一些其他操作的数组;那么我们要怎么去实现这个栈呢?我们要定义三个变量 一个是数组变量,一个是数组si

2020-09-05 10:28:42 252

原创 面试题 02.08. 环路检测

给定一个链表,如果它是有环链表,实现一个算法返回环路的开头节点。有环链表的定义:在链表中某个节点的next元素指向在它前面出现过的节点,则表明该链表存在环路。示例 1:输入:head = [3,2,0,-4], pos = 1输出:tail connects to node index 1解释:链表中有一个环,其尾部连接到第二个节点。示例 2:输入:head = [1,2], pos = 0输出:tail connects to node index 0解释:链表中有一个环,其尾部连接到第

2020-08-20 20:41:18 120

原创 面试题 02.07. 链表相交

给定两个(单向)链表,判定它们是否相交并返回交点。请注意相交的定义基于节点的引用,而不是基于节点的值。换句话说,如果一个链表的第k个节点与另一个链表的第j个节点是同一节点(引用完全相同),则这两个链表相交。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为 8 (注意,如

2020-08-20 19:57:43 117

原创 面试题 02.06. 回文链表

编写一个函数,检查输入的链表是否是回文的。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true进阶:你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?这题看起来挺简单的,我也直接打完了,打完了了发现就是他链表中的数字不是一个个位数,而是随机数,所以不能单单的用数字去累加,根本行不通,只能够将链表一个个对比得出是否是回文的。单个数字的代码如下:/** * Definition for singly-li

2020-08-18 16:55:01 87

原创 面试题 02.05. 链表求和

给定两个用链表表示的整数,每个节点包含一个数位。这些数位是反向存放的,也就是个位排在链表首部。编写函数对这两个整数求和,并用链表形式返回结果。示例:输入:(7 -> 1 -> 6) + (5 -> 9 -> 2),即617 + 295输出:2 -> 1 -> 9,即912进阶:假设这些数位是正向存放的,请再做一遍。示例:输入:(6 -> 1 -> 7) + (2 -> 9 -> 5),即617 + 295输出:9 -> 1

2020-08-17 19:42:19 139

原创 面试题 02.04. 分割链表

编写程序以 x 为基准分割链表,使得所有小于 x 的节点排在大于或等于 x 的节点之前。如果链表中包含 x,x 只需出现在小于 x 的元素之后(如下所示)。分割元素 x 只需处于“右半部分”即可,其不需要被置于左右两部分之间。示例:输入: head = 3->5->8->5->10->2->1, x = 5输出: 3->1->2->10->5->5->8这几题的题目描述是真的蠢,看都看不懂,大致的意思我是懂的但是这个实例一出来就

2020-08-16 17:45:54 80

原创 面试题 02.03. 删除中间节点

实现一种算法,删除单向链表中间的某个节点(即不是第一个或最后一个节点),假定你只能访问该节点。示例:输入:单向链表a->b->c->d->e->f中的节点c结果:不返回任何数据,但该链表变为a->b->d->e->f题目看来半天不知道是啥意思,因为在代码处只有一个输入,根本不知道题意,只知道删除,也不知道删除哪一个节点,看了看才知道,就是把给你的那个节点给删了,那就非常简单了直接指向下一个就好了,也没有什么难度。代码如下: * Definit

2020-08-16 17:27:05 248

原创 小日记

近几天看小说看上瘾了,人都傻掉了,一直都没有做功课,也没有刷题,解题我又回来了,今后给自己一个和吃饭一样的任务,必须每天一题,不管量多量少,一天必须刷一题。

2020-08-16 16:44:16 38

原创 面试题 02.01. 移除重复节点

编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。示例1:输入:[1, 2, 3, 3, 2, 1]输出:[1, 2, 3]示例2:输入:[1, 1, 1, 1, 2]输出:[1, 2]提示:链表长度在[0, 20000]范围内。链表元素在[0, 20000]范围内。进阶:如果不得使用临时缓冲区,该怎么解决?这题的关键在于不使用临时的缓冲区,使用暴力法是可以解决的代码如下:class Solution { public ListNode removeDuplic

2020-08-03 16:24:31 206

原创 面试题 01.09. 字符串轮转

字符串轮转。给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成(比如,waterbottle是erbottlewat旋转后的字符串)。示例1:输入:s1 = “waterbottle”, s2 = “erbottlewat”输出:True示例2:输入:s1 = “aa”, s2 = “aba”输出:False题意还是很简洁的,就是看两个字符串是否只通过旋转而成的,方法还是挺简单的,把s2复制一遍放在s2的后面看看是否有s1就好了,代码也很简单代码如下:class Solutio

2020-08-03 16:02:54 71

原创 面试题 01.08. 零矩阵

编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。示例 1:输入:[[1,1,1],[1,0,1],[1,1,1]]输出:[[1,0,1],[0,0,0],[1,0,1]]示例 2:输入:[[0,1,2,0],[3,4,5,2],[1,3,1,5]]输出:[[0,0,0,0],[0,4,5,0],[0,3,1,0]]题意就是遇到0,行和列皆为0,如果直接在原数列上操作可能会把同行同列的0给遗漏掉,所以就直接上了最笨的方法暴力法,创一个

2020-08-03 15:56:25 139

原创 面试题 01.07. 旋转矩阵

给你一幅由 N × N 矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,将图像旋转 90 度。不占用额外内存空间能否做到?示例 1:给定 matrix =[[1,2,3],[4,5,6],[7,8,9]],原地旋转输入矩阵,使其变为:[[7,4,1],[8,5,2],[9,6,3]]示例 2:给定 matrix =[[ 5, 1, 9,11],[ 2, 4, 8,10],[13, 3, 6, 7],[15,14,12,16]],原地旋转输入矩阵

2020-08-02 14:27:27 164

原创 面试题 01.06. 字符串压缩(关于String和StringBuilder)

字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。示例1:输入:“aabcccccaaa”输出:“a2b1c5a3”示例2:输入:“abbccd”输出:“abbccd”解释:“abbccd"压缩后为"a1b2c2d1”,比原字符串长度更长。提示:字符串长度在[0, 50000]范围内。题意十分的清晰,看看实

2020-07-31 15:42:42 142

原创 面试题 01.05. 一次编辑

字符串有三种编辑操作:插入一个字符、删除一个字符或者替换一个字符。 给定两个字符串,编写一个函数判定它们是否只需要一次(或者零次)编辑。示例 1:输入:first = “pale”second = “ple”输出: True示例 2:输入:first = “pales”second = “pal”输出: False简单的看一下就是对删除插入和替换的判断而已,也就是对三种状态的分析,挺简单的,代码如下:class Solution { public boolean oneEdi

2020-07-31 14:44:15 83

原创 面试题 01.03. URL化

URL化。编写一种方法,将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。(注:用Java实现的话,请使用字符数组实现,以便直接在数组上操作。)示例1:输入:“Mr John Smith “, 13输出:“Mr%20John%20Smith”示例2:输入:” “, 5输出:”%20%20%20%20%20”提示:字符串长度在[0, 500000]范围内。题意呢就是把空格改成%20,至于最后的空格是留出

2020-07-29 16:26:27 130

原创 面试题 01.02. 判定是否互为字符重排

给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。示例 1:输入: s1 = “abc”, s2 = “bca”输出: true示例 2:输入: s1 = “abc”, s2 = “bad”输出: false说明:0 <= len(s1) <= 1000 <= len(s2) <= 100题意呢就是判断s1和s2中的字符数量是否相同,只要创建一个数组记录他们的数量就好了,s1++,s2–;最后判断数组是否都为

2020-07-29 15:55:53 99

原创 面试题 01.01. 判定字符是否唯一(包括一些逻辑运算)

实现一个算法,确定一个字符串 s 的所有字符是否全都不同。示例 1:输入: s = “leetcode”输出: false示例 2:输入: s = “abc”输出: true限制:0 <= len(s) <= 100如果你不使用额外的数据结构,会很加分。这题的题意就是判断是否有重复的字符,单单按照这个去做的话确实很简单,但是他说如果不使用额外的数据结构会很加分,那我们就要去从不用额外的数据结构的方向去做了,实在是是想不出什么好的方法了,不创的话就只有暴力法,还有我脑子里的交换

2020-07-29 15:31:21 183

原创 关于刷题

昨天结束刚刚把做过的题全部给发布到csnd了,所以呢今天就要开始真正的刷题了,而且呢是从面试题开始刷

2020-07-29 14:14:04 65

原创 9. 回文数

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。进阶:你能不将整数转为字符串来解决这个问题吗?这题还有一个进阶,其实从这个进阶就知道了可以用转换字符串的方法去完成这一题了,

2020-07-28 15:50:40 89

原创 8. 字符串转换整数 (atoi)

请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下:如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一个有符号整数。假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成一个整数。该字符串在有效的整数部分之后也可能会存在多余的字符,那么这些字符可以被忽略,它们对函数不应该造成影响。注意:假如该字符串中的第一个非空格字符不是一个有效整数字

2020-07-28 15:35:31 103

原创 7. 整数反转

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。逆向输出,也就是整除后在除一下,一个循环就做完了,如果就这样那就上当了,我就是没看完题目,还有一个注意,反转之后数字可能超模,超模后为0,这就涉

2020-07-28 14:18:42 99

原创 6. Z 字形变换

将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOESIIGEDHN”。请你实现这个将字符串进行指定行数变换的函数:string convert(string s, int numRows);示例 1:输入: s = “LEET

2020-07-28 13:49:36 68

原创 5. 最长回文子串

给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: "bb"暴力法很轻松就可以做完,从首个字符开始判断,定义指针从s.length()处开始向左移动判断,但是这就违背的初心,我在暴力法上改良了一下,由字符开始向两边扩散的寻找,这样就减少了一些运算量但是时间复杂度还是一样的,至于我的代码有点乱和长,而且我在官方的解析处看到了相同思路的

2020-07-26 15:47:36 61

原创 4. 寻找两个正序数组的中位数

给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出这两个正序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4]则中位数是 (2 + 3)/2 = 2.5这题的主要难点在与时间复杂度,如果没有时间复杂度上的要去,做题十分简单,只要定义两

2020-07-26 14:32:10 69

空空如也

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

TA关注的人

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