自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 1、深入理解Mysql索引底层数据结构与算法(前置课程)

如果不建主键mysql会选择一列作为隐藏列作为主键,为了不麻烦mysql还是自己建表时就指定好主键,自增主键在后面插入效率高,如果非自增导致前面还要平衡效率低下。假如b树存放2k万数据 一个节点16KB,里面带有data的话存的太少,导致树的高度过高,所以让他放在叶子节点上去。B树和B+树最大区别,叶子节点相连,非叶子节点不存储数据,对范围查找支持较好和一个页存储的数据多。聚集索引高于非聚集索引,因为非聚集索引查找数据要跨文件,聚集索引数据直接就可以返回。frm frame 数据表结构信息。

2023-08-13 00:21:02 139

原创 LC2后缀表达式计算

2023-08-12 15:09:01 44

原创 行级锁、表级锁、乐观锁、悲观锁

锁定用于确保事务完整性和数据库一致性。锁定可以防止用户读取其他用户正在更改的数据,并防止多个用户同时更改相同的数据。如果不使用锁定,数据库中的数据可能在逻辑上变得不正确,而针对这些数据进行查询可能会产生想不到的结果...

2020-07-16 20:47:23 203

原创 面试题总结

1.抽象类为什么不能创建对象?因为抽象类描述的东西是抽象的,不是具体的,如果创建对象没有意义,所以只能继承它,并且重写方法2.mysql关键字的执行顺序语法顺序:select[distinct]>from>left join>on>where>group by>having>union>order by>limit执行顺序:from>on>left join>where>group by>having>

2020-07-10 22:33:44 103

原创 mysql命令练习作业

写出上述表的建表语句。命令:DML给出相应的INSERT语句来完成题中给出数据的插入。命令:单表查询以class降序输出student的所有记录(student表全部属性)命令:列出教师所在的单位depart(不重复)。命令: 列出student表中所有记录的name、sex和class列命令: 输出student中不姓王的同学的姓名。命令:输出成绩为85或86或88或在60-80之间的记录(no,cno,...

2020-07-08 16:10:03 870

原创 十大排序算法java

1.冒泡排序(BubbleSort)冒泡排序算法的原理如下: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较 package sortArithmetic;import java.util.Arrays;public clas...

2020-07-06 12:08:49 94

原创 javase基本数据与计算

Java关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字,含有特别意义的变量。Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名,方法名,类名,包名和参数。Java标识符标识符就是用于Java程序中变量,类,方法等自定义命名的符号使用标识符时,需要遵循以下规则:1.标识符可以由字母,数字,下划线——,...

2020-04-06 23:42:27 120

原创 java异常

异常的定义异常就是有异于常态,和正常情况不一样,有错误出现,在java中,阻止当前方法或作用域的情况,称之为异常异常的分类Error:是程序中无法处理的错误,表示运行应用程序中出现了严重的错误。此类错误一般表示代码运行时JVM出现问题比如说当jvm耗完可用内存时,将出现OutOfMemoryError。此类错误发生时,JVM将终止线程。非代码性错误。因此,当此类错误发生时,应...

2020-04-05 00:21:24 103

原创 leetcode42接雨水 java双指针

给定n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。感谢 Marcos 贡献此图。示例:输入: [0,1,0,2,1,0,1,3,2,1,2,1]输出: 6思路:双指针,如果一个从前往后,一...

2020-04-04 15:36:36 205

原创 java包与权限

包的基本概述起因:在我们设计一个程序的时候(尤其多人合作),会写一些类来实现功能,但是往往有重名的现象发生,为了解决这个问题,则专门设计了包(还有其他作用)简单理解:不同城市之间存在相同名字的小区,用城市名则可以区分这些重名小区,城市名就可以理解为上面的包,小区则可以看作是重名的类,通过这个前缀,解决了重名的问题(1)概述:为了更好地组织类,Java提供了包机制,用于区别类名的命名...

2020-04-03 16:10:34 122

原创 Java快速排序易懂讲法

1.快速排序的简单介绍算法思想:基于分治的思想,是冒泡排序的改进型,首先在数组中选择一个基准点(该基准点的选取可能影响快速排序的效率),然后分别从数组的两端扫描数组,设两个指示标志(low指向起始位置,high指向末尾),首先从后半部分开始,如果发现有元素比该基准点的值小,就交换low和high位置的值,然后从前部分开始扫描,发现有元素大于基准点的值,就交换low和high的值,如此往复循环...

2020-03-31 20:02:24 123

原创 String,StringBuilder,StringBuffer的区别

一String类常量String的值不可改变,这就导致每次对String的操作都会生成新的String对象,这样不仅效率低下,而且会大量的有限的内存空间被浪费,如下图所示String str="hello";str="world";str="hello world"创建三个对象二StringBuilder和StringBuffer类字符串变量StringBuf...

2020-03-26 21:32:31 82

原创 945. 使数组唯一的最小增量

给定整数数组 A,每次 move 操作将会选择任意 A[i],并将其递增 1。返回使 A 中的每个值都是唯一的最少操作次数。示例 1:输入:[1,2,2]输出:1解释:经过一次 move 操作,数组将变为 [1, 2, 3]。示例 2:输入:[3,2,1,2,1,7]输出:6解释:经过 6 次 move 操作,数组将变为 [3, 4, 1, 2, 5, 7]。可以看出...

2020-03-22 23:21:21 75

原创 leetcode300

给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4 解释: 最长的上升子序列是[2,3,7,101],它的长度是 4说明:可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。 你算法的时间复杂度应该为O(n2) 。进阶:你能将算法的时间复杂度降低到O(nlogn) 吗?class...

2020-03-19 22:56:46 85

原创 leetcode409最长回文串

给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。在构造过程中,请注意区分大小写。比如"Aa"不能当做一个回文字符串。注意:假设字符串的长度不会超过 1010。示例 1:输入:"abccccdd"输出:7解释:我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。class Solution { publi...

2020-03-19 21:12:55 130

原创 leetcode289生命游戏

根据百度百科,生命游戏,简称为生命,是英国数学家约翰·何顿·康威在1970年发明的细胞自动机。给定一个包含 m × n 个格子的面板,每一个格子都可以看成是一个细胞。每个细胞具有一个初始状态 live(1)即为活细胞, 或 dead(0)即为死细胞。每个细胞与其八个相邻位置(水平,垂直,对角线)的细胞都遵循以下四条生存定律:如果活细胞周围八个位置的活细胞数少于两个,则该位置活细胞死亡;如...

2020-03-09 21:38:35 95

原创 面试题兔子繁衍问题

题目:古典问题:6个月起每个月都生一对兔子,小兔子长到第5个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?import java.util.Scanner;class Rabbit{ public static void main(String[] args){ int num=2; Scanner scanner=new S...

2020-02-29 00:08:32 484

原创 栈的入栈与出栈

一个栈的入栈序列为ABCDEF,则不可能的出栈序列是(D)  A、DEFCBA    B、DCEFBA    C、FEDCBA  D、FECDBA    E、ABCDEF    F、ADCBFE  分析:  该题主要是考虑栈的核心思想是先进后出,并且需要注意入栈和出栈的顺序是未知的,例如你可以先入栈ABCD,然后出栈D,然后入栈E,出栈E,入栈F,出栈F,然后CBA依次出栈,也就...

2020-02-28 22:29:44 1969

原创 leetcode58-II左旋转字符串

字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。示例 1:输入: s = "abcdefg", k = 2输出:"cdefgab"示例 2:输入: s = "lrloseumgh", k = 6输出:...

2020-02-23 17:20:34 82

原创 leetcode1342

给你一个非负整数num,请你返回将它变成 0 所需要的步数。 如果当前数字是偶数,你需要把它除以 2 ;否则,减去 1 。示例 1:输入:num = 14输出:6解释:步骤 1) 14 是偶数,除以 2 得到 7 。步骤 2) 7 是奇数,减 1 得到 6 。步骤 3) 6 是偶数,除以 2 得到 3 。步骤 4) 3 是奇数,减 1 得到 2 。步骤 5) 2 是...

2020-02-23 13:17:12 113

原创 leetcode64

求 1+2+...+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。示例 1:输入: n = 3输出:6示例 2:输入: n = 9输出:45class Solution { public int sumNums(int n) { boolean b=n>0 &...

2020-02-23 13:06:09 85

原创 leetcode674

给定一个未经排序的整数数组,找到最长且连续的的递增序列。示例 1:输入: [1,3,5,4,7]输出: 3解释: 最长连续递增序列是 [1,3,5], 长度为3。尽管 [1,3,5,7] 也是升序的子序列, 但它不是连续的,因为5和7在原数组里被4隔开。示例 2:输入: [2,2,2,2,2]输出: 1解释: 最长连续递增序列是 [2], 长度为1。注意:数组长度不会超...

2020-02-23 12:48:02 106

原创 leetcode240

编写一个高效的算法来搜索mxn矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。示例:现有矩阵 matrix 如下:[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17,...

2020-02-23 12:39:45 73

原创 leetcode66

给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 4321。...

2020-02-22 22:36:58 84

原创 leetcode209

给定一个含有n个正整数的数组和一个正整数s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组。如果不存在符合条件的连续子数组,返回 0。示例:输入: s = 7, nums = [2,3,1,2,4,3]输出: 2解释: 子数组[4,3]是该条件下的长度最小的连续子数组。进阶:如果你已经完成了O(n) 时间复杂度的解法, 请尝试O(n log n) 时间复杂度...

2020-02-22 22:00:43 78

原创 20200221

网桥没有路由选择的功能。子网掩码共32位,前15位为1,后17位为0,转换下分组交换比电路交换的电路利用率高,比报文交换的传输时延小,交互性好。分组交换和电路交换是两个节点或者主机之间传输数据的两种网络方式。对于分组交换网络来说,数据是通过分成单个的组进行传输的,通过电路把数据传送到另一台主机。在分组交换网络中,当数据包到达线路时,路由不是专门确定的。使用路由算法...

2020-02-21 21:37:10 324

原创 LeetCode1295

给你一个整数数组nums,请你返回其中位数为偶数的数字的个数。示例 1:输入:nums = [12,345,2,6,7896]输出:2解释:12 是 2 位数字(位数为偶数)345 是 3 位数字(位数为奇数)2 是 1 位数字(位数为奇数)6 是 1 位数字 位数为奇数)7896 是 4 位数字(位数为偶数)因此只有 12 和 7896 是位数为...

2020-02-21 21:11:05 89

原创 LeetCode905

给定一个非负整数数组 A,返回一个数组,在该数组中,A 的所有偶数元素之后跟着所有奇数元素。你可以返回满足此条件的任何数组作为答案。示例:输入:[3,1,2,4]输出:[2,4,3,1]输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。提示:1 <= A.length <= 50000 <= A[i] <...

2020-02-21 20:28:45 116

原创 java计数,冒泡,选择,插入排序汇总

class Xuanze{ public static void main(String[] args){ int[] arr={9,5,8,7,11,4,2,3,1,10}; //选择排序 for(int i=0;i<arr.length;i++){ for(int j=i+1;j<a...

2020-02-18 22:32:12 68

原创 黑皮书猜单词游戏

import java.util.Scanner;class Demo508{ public static void main(String[] args){ Scanner scanner=new Scanner(System.in); String[] words={"write","that","hello","program","this"}...

2020-02-18 18:35:58 137

原创 java数组

定义:所谓数组,是有序的元素序列。[1]若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。[1]这些无序排列的同类数据元素的集合称为数组。数组是用于储存多个相同类型数...

2020-02-15 20:49:21 84

原创 java函数

函数的概念:函数是定义在类中的一段独立的代码块,用来实现某个功能。Java中,函数又被称为方法。函数的主要作用是为了提高代码的复用性。函数都是在栈内存中运行;运行的函数处在栈顶。函数格式:修饰符返回值类型函数名([参数类型1 参数名1,参数类型2 参数名2....]){//[]...

2020-02-15 20:42:22 220

原创 递归和迭代

class Demo408{ public static void main(String[] args){ //show(); /* 问题1:计算1+2+3+4+5+...+98+99+100 f(n) 是求1~n的累加 f(100)就是我们当前最大的问题 写递归时,一定要先写它的end!...

2020-02-15 20:36:23 47

原创 javase练习题

练习题链接:https://pan.baidu.com/s/1W-022ZFJC9j5Zr7EJw5yWQ提取码:bxkv答案(代码)链接:https://pan.baidu.com/s/1utcQTLHQ6EHmpFwvoc8JXA提取码:2vxl

2020-02-15 19:43:22 172

原创 java关键字与标识符

java 关键字定义:java关键字是电脑语言里实现定义的,有特别意义的标识符,有时又叫保留字,还有特别意义的变量。java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名,方法名,类名,包名和参数。关键字 含义 abstract 表明类或成员方法具有抽象属性 assert 断言,用来进行...

2020-02-11 19:11:48 631

原创 jdk安装指导

下载地址点击下载如图所示(接受证书许可)点击安装找到javac.exe如图所示打开我的电脑,点我的属性

2020-02-06 21:51:46 122

原创 c语言指针变量问题

#include<stdio.h>void main(){ int a=3; //创建一个普通变量a 存3 int b=4; //创建一个普通变量b 存4 int* c; //创建一个指针变量c 指向b c=&b; //将指针变量c指向普通变量b int** d; //创建一个指向指针变量的指针变...

2020-02-05 17:09:54 155

原创 Leetcode 1. 两数之和

题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1]cl...

2019-09-29 21:08:00 53

原创 final,finally,finalize的区别

1.finalfinal是一个修饰符,用来修饰变量,方法和类,分别表示属性不可变,方法不可被重写,类不可被继承(1)修饰类,类不能被继承(2)修饰变量,变量是常量(3)修饰方法,方法不能被重写class StringJoinTest{ public static void main(String[] args){ String s1="Java"; ...

2019-08-12 20:30:47 287

原创 面向对象(类的抽象和封装)

类的抽象:是将类的实现和使用分离。类的封装:实现的细节被封装并且对用户隐藏,这成为类的封装类也称抽象数据类型:例如可以创建一个circle对象,并且可以在不知道面积是如何计算出来的情况下,求出这个圆的面积。类抽象和封装是一个问题的两个方面。例1:考虑建立一个计算机系统。个人计算机有很多组件-----CPU、内存、磁盘、主板和风扇等。每个组件都可以看作是一个有属性和方法的对象。要使各个组件...

2019-08-11 23:49:09 1412

空空如也

空空如也

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

TA关注的人

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