自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (2)
  • 收藏
  • 关注

原创 JAVA之MySQL连接

目录概念Java-MySQL连接步骤关于1. 下载驱动包2. 导入驱动包3. 注册驱动4. 获取数据库连接对象5. 定义sql语句6. 获取执行sql语句对象7. 执行sql语句8. 释放资源综合案例---登陆验证案例前言概念  全称: Java数据库连接( Java Database Connectivity )  本质: sun公司定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口( JDBC )编程,真正执行的代码是驱动ja

2020-08-30 17:12:17 453

原创 MySQL基础总结(DDL、DML、DQL、DCL)

目录什么是SQLSQL通用语法SQL分类DDL(Data Definition Language)数据定义语言操作数据库:CRUD操作表:CRUDDML(Data Manipulation Language)数据操作语言DQL(bata Query Language)数据查询语言什么是SQLStructured Query Language:结构化查询语言其实就是定义了操作所有关系型数据库的规则。每一种数据库操作的方式存在不一样的地方,称为“方言”。SQL通用语法SQL语句可以单行或多行书写,以

2020-08-28 16:09:07 994

原创 JZ24---二叉树中和为某一值的路径

题目输入一颗二叉树的根节点和一个整数,按字典序打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。思路  你可以选择。前序、中序、后序遍历。遍历所有子节点即可。直到遍历到叶子结点。就判断这一条路数据的总和是否和给的整数相等。无论判断成功与否,我们都需要将叶子结点弹出,到另外一边进行求和运算。  此题有坑!!!!  你不能单纯的直接添加这条满足的路径,你需要再创建一个list对象进行存储,因为这个是引用类型,引用类型操作的一直是他的地

2020-08-26 23:25:05 167

原创 JZ22---从上往下打印二叉树

题目从上往下打印出二叉树的每个节点,同层节点从左至右打印。思路  题目意思表达也很明确。就是手写一个层次遍历罢了。  关于层次遍历,我们一般都使用队列。具体步骤如下所示:首先从根结点开始,将1结点入队列如果同一层已经没有兄弟结点结束入队。做出队操作,取出队头的元素,再将队头的孩子结点全入队。重复以上操作。直到队列为空。说明已经层次遍历结束。AC代码import java.util.ArrayList;import java.util.LinkedL

2020-08-26 20:49:23 205

原创 JZ21---栈的压入、弹出序列

题目输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)思路  为了更加快捷的获取栈顶数据。我选择使用栈这个容器方便获取栈顶数据。循环开始阶段每一次压入一个数据。然后和popA进行比对,是否相等。如果相等,出栈一个数据。popA往后移一个位置如

2020-08-26 16:57:33 119

原创 JZ20---包含min函数的栈

题目定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。思路题目要求很明确。要想获得最小的元素。又要时间复杂度为1。但我们看代码。其实他为了我们提供了一个内置stack。我们可以好好利用一番。创建两个栈。一个是我们的数据栈,一个是我们的最小栈压栈。出栈。查看栈顶,数据栈的操作没有任何改变。主要就是最小栈的操作在我们压栈的时候,我们对最小栈进行一下判断如果来的数据比我们的数据大,那么理应不存储,但是由于最小栈要和我们的数据栈保持一致,因为

2020-08-26 10:26:28 116

原创 JZ19---顺时针打印矩阵

题目输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.思路  模拟矩阵行走即可。  依次按照下面的步伐行走即可。向右走向下走向左走向上走  前提条件:需要判断一下下一个数据是否越界情况和下一个是否已经走过了的情况。需要另外一个数组进行辅助。判别走过了的情况

2020-08-26 09:51:59 126

原创 JZ18---二叉树的镜像

题目操作给定的二叉树,将其变换为源二叉树的镜像。思路  本题稍微简单。只需要更改左右结点位置,然后依次递归下去即可。AC代码/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; }}*/public class Soluti

2020-08-25 17:29:37 202

原创 JZ17---树的子结构

题目输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)思路  暴力法 + 简易递归法  有一点类似。BF算法。每一次移动A这颗二叉树,从当前位置依次按照一个规律去比较,当前的值。A何时指向下一个结点,B就指向下一个结点,且方向一致(左和右)。如果发现A、B两棵树值不同。A这颗二叉树移动到下一个结点如果发现A、B两棵树值相同,依次比较下一个结点。直到B这棵树已经到了终点。返回trueAC代码/**public class TreeNode {

2020-08-25 17:06:18 244

原创 JZ16---合并两个排序的链表

题目输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。思路创建一个链表。用于保存每一次比较之后。存储答案的依次比较val值。这里需要先做一步比较。让链表最开始有值。这样就解决了不会因为链表在增长无法回到第一个位置。 需要注意的是,这里拷贝的是地址如果 m.val > n.val让链表的next等于n两个链表后移一个节点如果 m.val < n.val让链表的next等于m两个链表后移一个节点总有一次,m或者n会指

2020-08-25 10:44:06 185

原创 JZ15---反转链表

题目输入一个链表,反转链表后,输出新链表的表头。思路  通俗点就是通过一个第三者变量。让head每一次指向我们的反转链表。修改他的去向,从而达到反转效果。如下图所示:第一次循环:第二次循环  依次重复下去,直到head指向了空。意味着循环结束。反转链表就得到了。AC代码/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val =

2020-08-24 20:53:38 263

原创 JZ14---链表中倒数第k个结点

题目输入一个链表,输出该链表中倒数第k个结点。思路方法一:遍历链表,取出链表的值,将他们存储到 list 集合中通过 list 的长度和 k 值的关系。得出倒数第k的结点的是正数的第几个结点。进行第三步。得出倒数第k的结点到底存不存在。如:k <= 0 、k > 链表的长度再一次遍历链表,循环第二次得到的那个数值即可。AC代码/*public class ListNode { int val; ListNode next = null;

2020-08-23 17:22:17 122

原创 JZ13---调整数组顺序使奇数位于偶数前面

题目输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。思路  题目意思,一目了然,就是将奇数放在数组前面,偶数放在后面。但是不能改变出现的先后顺序。  比如:int[] a = {1,6,4,9,2,7,0,3,5,8}; 下一个奇数是:9 。因此 9 这个数只能在 1 的后面,7的前面。AC代码import java.util.ArrayList;public clas

2020-08-23 16:42:59 136

原创 JZ12---数值的整数次方

题目给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。保证base和exponent不同时为0思路  没什么好讲。就是模拟即可。不要被自己的测试所吓倒了(出现后面一长串的000后面又出来一个乱数字),这是由于浮点数类型,在计算的时候有特殊计算方法。具体了解 IEE754标准。特殊情况:任何数的0次方都是10的任何次方都是0指数是负数,对答案求一次倒数即可AC代码public class Solution { pu

2020-08-23 16:32:41 127

原创 JZ11---二进制中1的个数

题目输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示。思路  输出了一个32位二进制的数。说明,暗含的说明了,取值范围在4个字节。那么在4个字节,就可以用int类型去接受这样一个整数。  十进制转二进制,我们用除2再取出余数进行获取1的个数。关于正数我们可以直接对其进行计算。动态获取,无需存储。优化: 运用移位运算符。右移1位相当于除以2 右移2位除以4左移1位等于乘2 左移2位等于乘4样例 int n = 8; // 计算8位的二进制 f

2020-08-23 15:48:24 109

原创 JZ10---矩形覆盖

题目我们可以用2 * 1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2 * 1的小矩形无重叠地覆盖一个2 * n的大矩形,总共有多少种方法?比如n=3时,2 * 3的矩形块有3种覆盖方法:思路  本题依旧是抽象的斐波拉契数列。详细思路,可以跳转:JZ8—跳台阶AC代码public class Solution { public static int RectCover(int target) { if(target == 0) return 0; if

2020-08-23 14:51:24 176

原创 JZ9---变态跳台阶

题目一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。思路大体思路,请看 JZ8—普通跳台阶通过前一题跳台阶。得到的思路,我们可以得到如下步骤:得出表达式:F( N ) = F( N - 1 ) + F( N - 2 ) + F( N - 3 ) + ... + F( 0 )因此:F( N - 1 ) = F( N - 2 ) + F( N - 3 ) + ... + F( 0 )综上所诉,得出如下表达式:F( N ) = 2 *

2020-08-23 11:58:23 851

原创 JZ8---跳台阶

题目一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。思路  由题意得,青蛙只能跳1级或者2级。单看这个题起初是准备用递归解决的。但是在草稿本画了一下,发现里面不就是一个斐波拉契数列么?当只有1级台阶:一步。1当只有2级台阶:两步。11、2当只有3级台阶:三步。111、12、21规律来了。因为只能跳1级或者2级。这个时候不就和上面呼应上了么。如果第一步跨了1级,就还剩2级台阶没有走。2级台阶没有走,就是2步。如果

2020-08-23 11:42:55 221

原创 JZ7---斐波那契数列

题目大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。n<=39思路  本题只需模拟斐波拉契数列计算即可。可通过打表的方式。然后通过下标得到答案即可。PS:打表,先通过F( N ) = F( N - 1 ) + F( N - 2 )。获得这样一个斐波那契数组。第几项数据就是该下标的值。可通过两个变量动态规划。( 个人觉得使用动态规划,面试可加分 )AC代码public class Solution { p

2020-08-23 11:13:34 158

原创 JZ6---旋转数组的最小数字

题目把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。思路方法一:  由题意得,我们只需要找到数组中最小的一个元素即可。那么我们可以采用遍历整个数组。找到最小值。本题的NOTE并不会出现数组大小为0的情况。因为如下代码并没有判断就AC。鉴于代码的完整性,可加上。源代码

2020-08-23 10:29:29 145

原创 JZ5---用两个栈实现队列

题目用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。思路前提需了解知识点:栈是先进后出队列是先进先出  题目已经提供了,两个栈,那么我们可以利用栈的特性,对压栈,不做任何操作。但是在出栈的时候。我通过自己定义的第三个栈将栈压到第二个栈即可。  通俗点说:因为压栈我们不做任何工作,利用栈的先进后出。那么我们完全可以,将第一个栈先导出压到第二个栈,通过第二个栈的出栈,不就变成了先进先出?前提要排除中途会加入数据,因为在出栈的时候,需要通过第三个栈对第二个

2020-08-23 08:38:32 367

原创 JAVA之注解

目录概念功能JDK中预定义的一些注解样例自定义注解格式本质方法体注意事项赋值方法体元注解使用注解---结合反射技术概念  说明程序的,给程序员看的。功能编写文档∶通过代码里标识的注解生成文档【生成文档doc文档】代码分析∶通过代码里标识的注解对代码进行分析【使用反射】编译检查:通过代码里标识的注解让编译器能够实现基本的编译检查【override]JDK中预定义的一些注解@Override :检测被该注解标注的方法是否是继承自父类(接口)的@Deprecated:该注解标注

2020-08-22 11:32:49 146

原创 JAVA之反射技术总结

目录概述好处三个阶段获取class对象Source源代码阶段获取Class类对象阶段获取Runtime运行阶段获取样例使用class对象Student类源码获取成员变量使用成员变量综合样例获取构造方法使用构造方法综合样例获取成员方法使用成员方法综合样例反射技术综合案例---创建任意对象概述  设计框架的灵魂框架:半成品软件。可以在框架的基础上进行软件开发,简化编码。反射:将类的各个组成部分封装为其他对象好处可以在程序运行过程中,操作这些对象。可以解耦,提高程序的可扩展性。三个阶段

2020-08-21 01:31:25 246

原创 JAVA之使用字节流、字符流、两者桥梁对文件的读取、复制操作

目录一切皆为字节大纲图解大纲字节流读取文件读文件(未使用缓冲对)FileInputStream创建方法常用方法使用步骤样例写文件(未使用缓冲对)FileOutputStream创建方法常用方法使用步骤样例引入缓冲对的原因读文件(使用缓冲对)BufferedInputStream创建方法常用方法使用步骤样例写文件(使用缓冲对)BufferedOutputStream创建方法常用方法使用步骤样例字符流读取文件读文件(未使用缓冲对)FileReader创建方法常用方法使用步骤样例写文件(未使用缓冲对)FileWr

2020-08-15 16:11:50 1536

原创 JAVA之File对象

概述  提供操控操作系统文件的一个类,是文件和目录路径名的抽象表示,两种路径绝对路径: 从盘符开始逐渐靠近你想得到的那个位置,最真实相对路径: 从当前位置出发,去靠近你想得到的那个位置。特殊的:./ 代表当前位置 . ./ 代表返回上一级构造方法构造方法描述File(String pathname)通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例File(String parent, String child)从父路径名字符串和子路

2020-08-13 10:06:04 541

原创 JAVA之线程问题总结

目录线程概述线程特点线程调度线程创建方法方法一:继承Thread类步骤:实例方法二:实现Runnable接口步骤实例两种方法区别多线程开启内存图解线程安全问题解决线程安全问题方法方法一:线程同步代码块方法二:同步方法方法三:静态同步方法方法四:lock锁实现同步原理线程阻塞与唤醒线程池线程池好处使用步骤样例线程概述  操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。线程特点

2020-08-11 20:14:16 424

原创 JAVA之异常处理

目录概念体系解决异常两种方法样例一:自己解决样例二:交给java虚拟机JVM解决finally代码块样例注意事项样例异常扩展---自定义异常类步骤样例扩展知识样例概念  异常,就是不正常的意思。在生活中:医生说,你的身体某个部位有异常,该部位和正常相比有点不同,该部位的功能将受影响。在程序中的意思就是:异常:  指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。  在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象。Java处理

2020-08-09 17:19:28 187

原创 JAVA之Collection集合总结

继承与实现体系共性方法由于底层都是实现了Collection接口那么,下面的所有类便会继承。其中包含:增、删、查、改返回值方法解释booleanadd(E e)往集合中添加数据voidclear()删除集合所有数据booleanremove(Object o)删除集合中某个存在的数据booleancontains(Object o)查找集合中是否存在这个数据booleanisEmpty()判断集合是否为空intsize(

2020-08-07 01:28:08 468

原创 JAVA之装箱与拆箱(包装类)

包装类与基本数据类型的关系基本类型包装类byteByteshortShortintInterger【特殊】longLongdoubleDoublefloatFloatcharcharacter【特殊】booleanBoolean装箱  把基本类型的数据包装到包装类中 ( 基本类型的数据 -> 包装类 )装箱实现构造方法:Integer(int value) 构造一个新分配的Integer 对象,它表示

2020-08-04 17:12:38 146

原创 JZ4---重建二叉树

题目  输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。思路  本题肯定需要使用到递归调用。或者说本题就是一个对递归的掌握程度。  递归的使用:只注重过程,不注重结果。因此我们分析一下过程  对于前序遍历来说:根 — 左 — 右  对于中序遍历来说:左 — 根 — 右  我们重建二叉树的关键所在就是找到根

2020-08-02 23:58:39 354

原创 JAVA之接口

接口包含内容成员变量—>常量,格式:public static final 数据类型 常量名称 = 数据值注意事项:public static final 可以省略不写,因为编译时会自动添加上。不成文的规定 常量 必须大写抽象方法【最重要】,格式:public abstract 返回值类型 方法名称(参数列表);注意事项:public abstract 可以省略不写,因为编译时会自动添加上。实现类必须重写该接口所有抽象方法,除非实现类是一个抽象类默认方法,格式:p

2020-08-02 11:52:13 117

原创 JAVA之重写与重载

重写(Override)注意事项必须保证父子类之间方法的名称相同,参数列表也相同。@Override:写在方法前面,用来检测是不是有效的正确覆盖重写。这个注解就算不写,只要满足要求,也是正确的方法覆盖重写。子类方法的返回值必须 [小于等于] 父类方法的返回值范围。小扩展提示: java. lang. object类是所有类的公共最高父类(祖宗类),java. lang. String就是object的子类。子类方法的权限必须 [大于等于] 父类方法的权限修饰符。小扩展提示: public &

2020-08-02 00:40:16 111

原创 JAVA之super关键字与this关键字

super关键字三种用法在子类的成员方法中,访问父类的成员变量。在子类的成员方法中,访问父类的成员方法。在子类的构造方法中,访问父类的构造方法。this关键字三种用法在本类的成员方法中,访问本类的成员变量。在本类的成员方法中,访问本类的另一个成员方法。在本类的构造方法中,访问本类的另一个构造方法。两者共同使用注意事项this(…)调用也必须是构造方法的第一个语句, 唯一 一个。super和this两种构造调用,不能同时使用。super关键字是用来访问父类内容,this关键字是

2020-08-02 00:21:38 157

原创 JAVA之String对象

目录什么是String对象特点如何创建创建对象实例常用方法关于equals方法的注意事项使用方法实例特殊地什么是String对象  通俗点理解,它就是一个字符串对象。特点字符串的内容永不可变。正是因为字符串不可改变,所以字符串是可以共享使用的(常量池)字符串效果上相当于是char[ ]字符数组,但是底层原理是byte[ ]字节数组。如何创建创建方法(3 + 1)解释public String()创建一个空白字符串,不含有任何内容public String(ch

2020-08-01 01:40:33 325

原创 JAVA之ArrayList对象

目录什么是ArrayList对象创建对象常用方法实例注意事项什么是ArrayList对象  对于我的理解,我就认为他是一个动态数组,可随数据的增多空间越大。它与普通的数组不同之处就是在于:长度可变。普通的数组一旦创建,就再也不能修改其长度了。创建对象 ArrayList<E> 对象名 = new ArrayList<>() // 例如:创建一个只存放整型的一个动态数组 ArrayList<Interger> 对象名 = new ArrayList<&gt

2020-08-01 00:41:12 966

nacos-server-1.4.4

由于GitHub下载速度过慢,才想办法,将nacos移动到C站。 本着已学习的态度,无需积分即可下载!!!!!! 本着已学习的态度,无需积分即可下载!!!!!! 本着已学习的态度,无需积分即可下载!!!!!! nacos下载,nacos下载,nacos下载,nacos下载,nacos下载,nacos下载

2023-03-01

SucureCRT FX.zip

Secure CRT将SSH(Secure Shell)的安全登录、数据传送性能和Windows终端仿真提供的可靠性、可用性和可配置性结合在一起。

2020-12-31

wordcloud-1.7.0-cp38-cp38-win32.whl

WordCloud是一款python环境下的词云图工具包,同时支持python2和python3,能通过代码的形式把关键词数据转换成直观且有趣的图文模式。表白神器。

2020-07-30

空空如也

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

TA关注的人

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