自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

谁D了我的BUG

Fighting!

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

原创 190428打卡:复制含有随机指针节点的链表

题目描述:一种特殊的链表节点类描述如下:public class Node { public int data; public Node next; public Node random; public Node(int data) { this.data = data; } }Node类中的value是节点值,next指针和正常单链表中next指针的意义...

2019-04-28 14:38:20 70

原创 190427打卡:判断一个链表是否为回文结构

题目描述:给定一个链表的头结点head,判断该链表是否为回文结构。例如:1->2->1,返回false1-2->2->1,返回true15->6->15,返回true1->2->3,返回false要求:如果链表的长度为N,时间复杂度达到O(N),额外空间复杂度达到O(1)思路:设计两个指针,快指针一次走两步,慢指针一次走两步,然后从当...

2019-04-27 22:55:42 90

原创 190427打卡:反转部分单向链表

题目描述:给定一个单向链表的头结点head,以及两个整数from和to,在单向链表上把第from个节点到第to个节点这一部分进行反转例如:1->2->3->4->5->null, from = 2, to = 4调整结果为:1->4->3->2->5->null再如:1->2->3->null, from = ...

2019-04-27 18:41:25 290

原创 JavaSE之注解

JDK自带注解JDK自带的@Override注解@Override就是一个注解,这个注解的作用是告诉编译器我们要执行方法覆盖,则编译器会按照方法覆盖的要求进行检测所以,在方法覆盖的时候要加上@Override,防止写错!=JDK自带的@Deprecated注解在一个类中,由于某种原因,某个方法已经不再推荐使用了,这时可以给方法上面加上一个@Deprecated注解,表示这个方法过时了这...

2019-04-27 15:23:59 299

原创 190426打卡:反转单向链表和双向链表

题目描述:【题目】 分别实现反转单向链表和反转双向链表的函数。【要求】 如果链表长度为N,时间复杂度要求为O(N),额外空间复杂度要求为O(1)代码如下public class Code_011_ReverseList { public static class Node { public int data; public Node next; public Node(in...

2019-04-26 13:41:56 107

原创 190426打卡:打印两个有序链表的公共部分

题目描述:给定两个有序链表的头指针head1和head2,打印两个链表的公共部分。思路:注意两个链表都是有序的,如果head1的值小于head2,head1向右移动(head1 = head1.next), 如果head1的值大于head2的值,则head2向右移动(head2 = head2.next),相等则打印输出public class Code_010_PrintCommonPar...

2019-04-26 13:37:13 123

原创 190425打卡:在单链表中删除指定值的节点

题目描述:删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5思路:有两种解题方式,一种是带虚拟头节点的单链表,另一种是不带虚拟节点的单链表public class Code_008_RemoveElementsInLinkedLis...

2019-04-25 20:03:50 457

原创 190425打卡:"之"字形打印矩阵

题目描述:给定一个矩阵matrix,按照“之”字形的方式打印这个矩阵,例如:1 2 3 45 6 7 89 10 11 12“之”字形的打印结果为:1,2,5,9,6,3,4,7,10,11,8,12思路:采用两个点a,b都从左上角出发,a点只能向右走(aL++),走到头然后再向下走(aH++),b点只能向下走(bH++),走到头再向右走(bL++),a和b同步移动,两点之间的连线...

2019-04-25 19:46:33 100

原创 算法与数据结构之基于链表实现的栈和队列

链表实现的栈底层链表的实现基于算法与数据结构之带头节点的链表的实现Java版时间复杂度都为O(1),与算法与数据结构之基于数组的栈的实现Java版相同操作:public interface Stack<E> { int getSize(); //元素个数 boolean isEmpty(); //是否为空 void push(E e); //入栈 E pop(); //...

2019-04-24 23:11:47 156

原创 算法与数据结构之带头节点的链表的实现Java版

操作获取链表中的元素个数返回链表是否为空在链表的index位置添加元素在链表头添加元素在链表末尾添加元素获取链表第index位置元素获取链表第一个元素获取链表最后一个元素修改链表第index位置元素查找链表中是否含有元素e删除index位置的元素删除第一个元素删除最后一个元素删除元素e时间复杂度分析添加操作:O(n)addLast(e) O(n)addFi...

2019-04-24 21:47:59 186

原创 190424打卡:将正方形矩阵顺时针旋转90°

题目描述:给定一个N×N的矩阵matrix 把这个矩阵调整成顺时针转动90°后的形式,例如要求:额外空间复杂度O(1)思路:以上述图为例,将13赋值给1位置,将16赋值给13位置,将4赋值给16位置,再将1赋值给4位置,就是上图中用黑色圈标记的位置,然后重复上述过程将红色圈位置交换,在将粉色位置交换,这样就完成了最外层的调换,里层重复外层的交换,注意只能正方形才能旋转,如果矩阵为矩形,旋转...

2019-04-24 12:56:52 289

原创 190424打卡:在行列都排好序的矩阵中找数

package com.demo;public class RotatMatrix { public static void rotateMatrix(int[][] matrix) { int aH = 0; int aL = 0; int bH = matrix.length - 1; int bL = matrix[0].length - 1; while...

2019-04-24 11:46:18 158

原创 JDBC

JDBC概述JDBC:Java DataBase Connectivity,java连接数据库SUN公司把JDBC中的接口定义在java.sql.*;中JDBC编程六部曲(以excuteQuery()执行DQL语句为例)0.准备工作,也就是准备数据库的驱动(1)在Eclipse中创建一个lib(外部类库)文件夹(2)把 mysql-connector-java-5.1.23-bin....

2019-04-23 18:42:36 175

原创 190423打卡:转圈打印矩阵

题目描述:转圈打印矩阵【题目】 给定一个整型矩阵matrix,请按照转圈的方式打印它。例如:1   2   3   45   6   7   89 10 11 1213 14 15 16打印结果为:1,2,3,4,8,12,16,15,14,13,9,5,6,7,11, 10【要求】 额外空间复杂度为O(1)思路...

2019-04-23 11:42:48 140

原创 190423打卡:设计一个具有getMin功能的栈

题目描述:实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作。【要求】1.pop、push、getMin操作的时间复杂度都是O(1)。2.设计的栈类型可以使用现成的栈结构。思路:有两种方式的实现,都需要准备两个栈,一个stackData,一个stackMin,第一种方式是:在进行压栈操作时,如果栈为空,则分别将这个元素压入到这两个栈中,在以后进行压栈的操作中...

2019-04-23 11:33:04 78

原创 算法与数据结构之基于数组实现的数组队列和循环队列Java版

操作public interface Queue<E> { void enqueue(E e); E dequeue(); E getFront(); int getSize(); boolean isEmpty();}数组队列复杂度分析可以看到出队的时间复杂度为O(n), 因为我们出队的时候,是将第一个元素出队,此后,后面的所有元素都需要向前移动一个位置, 用...

2019-04-22 17:52:18 152

原创 算法与数据结构之基于数组的栈的实现Java版

栈的应用在这里举几个比较常见的栈应用的例子子过程的调用,每当在一个函数中调用另一个函数时,就会发生子过程的调用,而这个工程的实现就用到了栈,当程序执行到子函数所在的行时,会将此时的执行信息压入到系统栈中,当执行完子函数后,会将系统栈中的内容出栈,然后接着执行主函数,最常见的例子就是递归的调用。undo操作,也就是撤销操作,ctrl+z,每当我们在编译器输入词汇的时候,编译器会将我们输入的内...

2019-04-22 17:31:22 182

原创 190422打卡:队列实现栈

问题描述:如何仅用队列实现栈结构?思路:用两个队列实现栈,当入栈时,元素只进入data队列,当出栈时,将data队列的最后一个元素保留,然后将剩下的元素倒入到help队列中,然后将data队列中唯一一个元素出队,这样就达到了出栈的效果,然后将data栈和help栈交换,这样就可以保证下一次如果用户要求再次出栈就可以重复上述过程package code001_code010;import...

2019-04-22 14:40:12 120

原创 190422打卡:栈实现队列

问题描述:如何仅用栈实现队列?思路:用两个栈实现队列在队列入队的时候元素进入data栈,元素出队的时候,将data栈里面的元素倒入help栈中,然后依次从help栈里面弹出,在倒数据时有两个条件:1.如果要倒数据就一次性倒完,2.如果help栈中有元素则不能倒,只要满足该条件,就可以倒数据,并且倒数据可以发生在任何时刻package code001_code010;import ja...

2019-04-22 14:18:03 123

原创 190421打卡:有效括号匹配

题目描述:给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: “()”输出: true示例 2:输入: “()[]{}”输出: true示例 3:输入: “(]”输出: false示例 4:输入...

2019-04-21 20:16:47 106

原创 算法与数据结构之动态数组的实现Java版

动态数组的特点可实现数组的扩容和缩容实现了泛型操作获取数组的容量 getCapacity获取数组中的元素个数 getSize返回数组是否为空 isEmpty在指定索引位置插入一个新元素add向所有元素后添加一个新元素 addLast在所有元素前添加一个新元素 addFirst获取指定索引位置的元素 get修改指定索引位置的元素为指定的元素 set查找数组中是否有指定的...

2019-04-19 11:42:00 210

原创 MySQL之流程控制结构

流程控制结构顺序结构:程序从上往下依次执行分支结构:程序从两条或多条路径中选择一条去执行循环结构:程序在满足一定条件的基础上,重复执行一段代码分支结构if函数功能:实现简单的双分支语法:if(表达式1,表达式2,表达式3)执行顺序:如果表达式1成立,则if函数返回表达式2的值,否则返回表达式3的值应用:任何地方(begin中或begin外)case结构情况1:类似于java...

2019-04-16 23:22:35 141

原创 MySQL之变量,存储过程和函数

变量系统变量:全局变量会话变量自定义变量:用户变量局部变量系统变量说明:变量由系统定义,不是用户定义,属于服务器层面注意:全局变量需要添加global关键字,会话变量需要添加session关键字,如果不写,默认会话级别使用步骤:1、查看所有系统变量show global|【session】variables;2、查看满足条件的部分系统变量show global|【ses...

2019-04-15 22:13:14 403

原创 MySQL之视图

视图视图:MySQL从5.0.1版本开始提供视图功能。一种虚拟存在的表,行和列的数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的,只保存了sql逻辑,不保存查询结果应用场景:– 多个地方用到同样的查询结果– 该查询结果使用的sql语句较复杂视图的好处:• 重用sql语句• 简化复杂的sql操作,不必知道它的查询细节• 保护数据,提高安全性视图的创建语法:crea...

2019-04-15 16:43:31 96

原创 MySQL之TCL事务

TCLTransaction Control Language 事务控制语言事务:一个或一组sql语句组成一个执行单元,这个执行单元要么全部执行,要么全部不执行。事务的特性:ACID原子性:一个事务不可再分割,要么都执行要么都不执行一致性:一个事务执行会使数据从一个一致状态切换到另外一个一致状态隔离性:一个事务的执行不受其他事务的干扰持久性:一个事务一旦提交,则会永久的改变数据库...

2019-04-14 14:30:11 120

原创 MySQL之常见约束和标识列

常见约束含义:一种限制,用于限制表中的数据,为了保证表中的数据的准确和可靠性分类:六大约束NOT NULL:非空,用于保证该字段的值不能为空比如姓名、学号等DEFAULT:默认,用于保证该字段有默认值比如性别PRIMARY KEY:主键,用于保证该字段的值具有唯一性,并且非空比如学号、员工编号等UNIQUE:唯一,用于保证该字段的值具有唯一性,可以为空比如座位号...

2019-04-13 13:46:26 376

原创 MySQL之常见数据类型

常见的数据类型数值型:整型小数:定点数浮点数字符型:较短的文本:char、varchar较长的文本:text、blob(较长的二进制数据)日期型:整型类型tinyintsmallintmediumintint/integerbigint字节数12348范围有符号:-128~127 无符号:0~255有符号:-...

2019-04-12 20:10:57 244

原创 MySQL之DDL库和表的管理

DDL数据定义语言:针对的是表的结构库和表的管理一、库的管理创建、修改、删除二、表的管理创建、修改、删除创建: create修改: alter删除: drop库的管理库的创建语法:create database [if not exists]库名;#案例:创建库Books# 如果不存在则创建,如果存在则不创建CREATE DATABASE IF NOT EXIST...

2019-04-12 11:57:07 154

原创 MySQL之DML插入,删除和修改

DML语言数据操作语言:插入:insert修改:update删除:delete插入语句方式一:用的较多语法:insert into 表名(列名,…) values(值1,…);注意:values后面的值如果是字符或者日期类型需要用单引号引起来1.插入的值的类型要与列的类型一致或兼容INSERT INTO beauty(id,NAME,sex,borndate,phone,ph...

2019-04-11 19:36:02 170

原创 MySQL之DQL分页查询和联合查询

分页查询应用场景:当要显示的数据,一页显示不全,需要分页提交sql请求语法:select 查询列表⑥from 表 ①【join type join 表2on 连接条件 ②where 筛选条件 ③group by 分组字段④having 分组后的筛选⑤order by 排序的字段】⑦limit 【offset,】size; ⑧【】中的内容代表可选offset要显示条目的起始...

2019-04-09 15:32:55 184

原创 MySQL之DQL子查询

进阶7:子查询含义:出现在其他语句中的select语句,称为子查询或内查询外部的查询语句,称为主查询或外查询分类:按子查询出现的位置:select后面: 仅仅支持标量子查询from后面: 支持表子查询where或having后面:★ 标量子查询(单行) √ 列子查询 (多行) √ 行子查询 exists后面(相关子查询) 表子查询按结果集的行列数不同:...

2019-04-08 22:20:04 151

原创 MySQL之DQL分组查询和连接查询

进阶5:分组查询语法:select 查询列表from 表【where 筛选条件】group by 分组的字段【order by 排序的字段】;特点:1、查询列表比较特殊要求是分组函数和groupby后面出现的字段2、分组查询中筛选条件分为两类:分组前筛选和分组后筛选针对的表位置连接的关键字分组前筛选原始表group by前where分组后筛选...

2019-04-06 22:19:08 236

原创 MySQL之DQL排序查询和常见函数

进阶三:排序查询select 查询列表 ③from 表名 ①【where 筛选条件】②order by 排序的字段或表达式;④执行顺序①②③④特点:1、asc代表的是升序,可以省略desc代表的是降序2、order by子句可以支持 单个字段、别名、表达式、函数、多个字段3、order by子句在查询语句的最后面,除了limit子句进阶4:常见函数概念:类似于java的方...

2019-04-04 19:34:08 528

原创 MySQL之DQL条件查询

进阶二:条件查询语法:select查询列表from表名where筛选条件;筛选条件分类:一、按条件表达式筛选简单条件运算符:> < = != <> >= <= <=>安全等于(在MySQL中!= 和 <>都表示不等于 建议使用<>)二、按逻辑表达式筛选逻辑运算符:作用:用于连接条件表达式 &am...

2019-04-04 12:01:20 313

原创 MySQL之DQL基础查询

进阶1:基础查询语法:SELECT 要查询的东西【FROM 表名】;类似于Java中 :System.out.println(要打印的东西);特点:①通过select查询完的结果 ,是一个虚拟的表格,不是真实存在② 要查询的东西 可以是常量值、表达式、字段、函数,也可以是多个当想要查询表中所有字段时有两种方式:第一种:自己写出所有要查询的东西,或鼠标双击(以SQLyog为例)对...

2019-04-03 23:15:36 105

原创 MySQL前奏

MySQL服务启动和停止方式一:计算机–右击任务管理器–服务方式二:通过管理员身份运行net start 服务名(启动服务)net stop 服务名( 停止服务)MySQL服务的登录和退出登录:方式一:通过MySQL自带的客户端,但只限于root用户方式二:通过windows的DOS窗口登录:mysql 【-h主机名 -P端口号 】-u用户名 -p密码登录本地账户方式一:mys...

2019-04-03 15:35:38 102

原创 JavaSE之反射

反射概述反射就是根据字节码文件,反射类的信息,方法,构造方法,字段等类的内容,根据字节码文件创建对象,调用方法的技术反射的基础是Class对象把一组小狗可以抽象为Dog类,把一组小猪抽象为pig类,把一组人抽象为Person类,把Dog/Pig/Person/String/System等所有的类抽象为Class类, Class类描述所有的类的共同特征如何获得Class对象?每个类都有c...

2019-04-02 15:51:35 158

空空如也

空空如也

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

TA关注的人

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