自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jack‘s Blog

记录老邓程序员之路

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

原创 mysql8解压版安装与初始化

mysql8解压版安装与初始化1、下载解压版:链接:mysql官网解压版下载地址.msi 是安装版,想用安装版也可以解压之后我是解压到了: D:\softwares\mysql\mysql-8.0.25-winx641、在mysql安装目录新建一my.ini文件如下:文件内容为:[mysql]# 设置mysql客户端默认字符集default-character-set=utf8[mysqld]#设置3306端口port = 3306# 设置mysql的安装目录

2021-07-10 16:30:38 598

原创 课程表,拓扑有向图,广度优先搜索

描述现在你总共有 n 门课需要选,记为 0 到 n-1。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1]给定课程总量以及它们的先决条件,返回你为了学完所有课程所安排的学习顺序。可能会有多个正确的顺序,你只要返回一种就可以了。如果不可能完成所有课程,返回一个空数组。示例 1:输入: 2, [[1,0]]输出: [0,1]解释: 总共有 2 门课程。要学习课程 1,你需要先完成课程 0。因此,正确的课程顺序为 [0,1

2021-05-29 16:43:22 422

原创 统计汉明距离

题目描述两个整数的 汉明距离 指的是这两个数字的二进制数对应位不同的数量。计算一个数组中,任意两个数之间汉明距离的总和。示例:输入: 4, 14, 2输出: 6解释: 在二进制表示中,4表示为0100,14表示为1110,2表示为0010。(这样表示是为了体现后四位之间关系)所以答案为:HammingDistance(4, 14) + HammingDistance(4, 2) + HammingDistance(14, 2) = 2 + 2 + 2 = 6.注意:数组中元素的范围为从

2021-05-28 16:40:46 282

原创 格雷编码(数组中两个连续的数值的2进制形式仅有一个位数的差异)

题目描述:格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异。给定一个代表编码2进制总位数的非负整数 n,打印其格雷编码序列。即使有多个不同答案,你也只需要返回其中一种。格雷编码序列必须以 0 开头。示例 1:输入: 2输出: [0,1,3,2]解释:00 - 001 - 111 - 310 - 2对于给定的 n,其格雷编码序列并不唯一。例如,[0,2,3,1] 也是一个有效的格雷编码序列。00 - 010 - 211 - 301 - 1示例 2:

2021-05-25 12:11:38 511 4

原创 四数相加(求四数相加和为0的四元组数目)

问题描述:给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0。为了使问题简单化,所有的 A, B, C, D 具有相同的长度 N,且 0 ≤ N ≤ 500 。所有整数的范围在 -228 到 228 - 1 之间,最终结果不会超过 231 - 1 。例如:输入:A = [ 1, 2]B = [-2,-1]C = [-1, 2]D = [ 0, 2]输出:2解释:两个元

2021-05-24 16:51:36 900

原创 确定有限状态自动机

这是《剑指Offer》中一道比较有意思的题,题目可以查看:https://leetcode-cn.com/problems/biao-shi-shu-zhi-de-zi-fu-chuan-lcof/需要判断给定的字符串是否是一个数值。采用的解题方法是自动机:自动机的介绍:确定有限状态自动机(以下简称「自动机」)是一类计算模型。它包含一系列状态,这些状态中:有一个特殊的状态,被称作「初始状态」。还有一系列状态被称为「接受状态」,它们组成了一个特殊的集合。其中,一个状态可能既是「初始状态」,也是「

2021-05-13 17:03:40 1204

原创 子数组异或查询

对于leetcode1310:子数组异或查询详情题目查看:https://leetcode-cn.com/problems/xor-queries-of-a-subarray/官方的题解也够明了:https://leetcode-cn.com/problems/xor-queries-of-a-subarray/solution/zi-shu-zu-yi-huo-cha-xun-by-leetcode-solution/对于异或小小解释下:异或就是对n个数的二进制对应位的1的个数进行统计,是奇

2021-05-12 23:29:07 155

原创 SpringBoot学习笔记

文章目录1、创建入门:2、初讲解SpringBoot3、全局配置文件3.1两种全局配置文件的书写格式3.2原生pojo属性注入方式3.3全局yml配置注入pojo属性3.4@PropertySource实现pojo属性注入4、JSR303数据约束5、多环境配置5.1配置文件存放路径及优先级6、Thymeleaf6.1依赖6.2html中声明6.3基础语法:6.4复用导航栏实现点击哪个图标哪个亮(三目运算符)6.5自定义视图控制6.6工具类6.7th: 用法7、国际化7.1常用资源文件命名规范:7.2html

2021-05-11 23:37:39 355

原创 linux学习(含阿里云部署)

文章目录Xshell连接教程:linux常用命令Linux概述linux目录文件属性:修改权限vim编辑器磁盘管理进程管理Tomcat命令行启动常用默认端口关于在阿里云部署(CentOS)新web项目若只启动一个项目(还未试验):SpringBoot项目Xshell连接教程:linux常用命令hostname xxx #修改主机名为xxxpwd #(print working directory)确定你当前的工作目录ls #显示当前工作目录的内容 ls -l #:显示权限ls

2021-05-11 23:16:03 367 1

原创 判断已给网格中是否有(上下左右)相邻字符连线形成字符串与word字符串相等(剪枝)

给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。这道题的解题思路:check(i,j,k) 判断从已给网格board的 (i,j)位置出发,能否搜索到字符串 word从第 k 个字符开始的后缀子串。如果能搜索到,则返回 true,反之返回 false。函数

2021-04-25 23:48:55 486

原创 Git学习

GitGit Bash: unix 与 linux风格的命令行,使用最多,推荐最多 clearGit CMD : windows风格的命令行 clsGit GUI: 图像界面的GitGit相关配置文件C:\Users\Razer\.gitconfig 当前登录用户的配置C:\Program Files\Git\etc --system 系统级设置用户名与邮箱(用户标识,必要)git config --global user.name "jack" #名称git

2021-04-25 17:34:54 125 1

原创 计算机网络体系架构

讲解了架构,以及TCP,UDP之间区别,还讲解为什么DNS同时使用了TCP,UDP。一般理解为4层。每层对应的协议应用层Application协议有:HTTP超文本传输协议,FTP文件传输协议,SMTP简单邮件传送协议,POP3(post office protocal version-3)邮局协议(用来接收邮件),TELNET远程登录协议 ,SSH(Secure Shell)安全外壳协议 (这些都使用TCP协议)SNMP简单网络管理协议,DHCP(dynamic host cofigurati

2021-04-25 16:08:31 348

原创 Mybatis学习笔记

文章目录Mybatis使用示例1对于mybatis-config.xml 的属性说明:db.properties 标签内可有多个, 但一个SqlSession实例只能使用一个环境,使用的是default选定的环境事务管理器(transactionManager)数据源(dataSource) :输出ERROR 级别以上的日志到 /log/error.logxx.Append = true 表示可以追加 不覆盖文件POJO注解使用:多对一的表关系处理:用两种方法实现StudentMapper接口中返回Stu

2021-04-24 00:15:12 107

原创 JVM学习笔记

JVMJDK, JRE , JVM:JDK(Java Development Kit),包括了Java运行环境JRE,一堆Java工具(编译器javac/java/jdb等)和Java基础的类库(即Java API 和java运行时基本类库rt.jar(runtime jar) 。其中rt.jar包含所有核心Java 运行环境的已编译calss文件,其中包含引导类(bootstrap classes,即来自Core Java API的所有类)。JRE(Java Runtime Envirnment.

2021-04-23 22:21:14 108

原创 Spring学习笔记(较长,可以按照目录看有需要的部分~)

文章目录简介1、IoC介绍控制反转 Inverse of Control, 一个xml文件就相当于一个Spring容器,在xml文件中部署所有bean,在类中利用annotation注释插入值2、关于注解@Xx的使用1.1 @Component 作用及使用方法1.2 @Component 使用时bean id的命名规则:2、@Component有三个衍生注解 适用于MVC三层架构分开注解,但其实作用都一致3、@Configuration的使用4、完全无xml文件的使用方法5、小结3、AOP (Aspect

2021-04-23 22:04:21 419

原创 关于集合中各种接口,类之间的关系

另外关于实现类实例化的声明应该使用接口声明还是实现类来声明?例如 class B implements A{ }, 实例化A时应该使用A b = new B()还是应该使用:B b = new B(); 呢?一般情况下建议使用接口声明,即第1种,这利于代码的改动,更加的flexible当实现类B中具有某些接口A中没有的方法,并且需要被使用时,只能用实现类来声明即第二种。...

2021-04-22 18:43:09 165

原创 快速排序(优化递归栈)

快速排序:它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。package com.QuickSort;public class Qsort { public static void main(String[] args) { int[] L={1,2,3,5,4,2,6,77,41}; quic

2021-04-21 23:25:06 546

原创 KMP算法:字符串匹配

字符串匹配是一道经典的算法问题,经常出现。例如:给定主串ss,匹配串pp,返回情况有三种:匹配成功,返回pp在ss中匹配到的第一个字符串的第一个字符的索引。匹配失败,主串中不存在与匹配串pp相匹配的子串,返回-1匹配串为空,返回0以上就相当于Java中String类的public int indexOf(String str)方法。1、最笨的方法当然就是暴力匹配 public int strStr(String ss, String pp) { int n = s

2021-04-21 21:04:14 551

原创 HashMap数据结构剖析(JDK8红黑树)拓展到Integer自动拆装箱及缓存

近期在研究HaspMap的数据结构,随后将一系列遇到的问题包括hashcode,红黑树等都整理出来如下:首先要知道HashMap最早的数据结构的存储由数组+链表的方式存储。从JDK8开始变化为数组+链表+红黑树的存储方式,当链表长度超过阈值(8)时,将链表转换为红黑树。在性能上进一步得到提升。这里先讲解HashMap如何计算出对象hashcode并将其放到指定数组索引的。1、HashMap先利用key的hashcode()计算出hashcode(是一个int类型)2、利用hashcode与 ha

2021-04-17 17:15:34 321

原创 关于位运算以及原码反码补码

计算机组成原理的时候都学过,不过有点生疏了,最近在研究hashcode的时候遇到又重新整理复习了以下。贴在此处给大家观看也方便自己以后查阅~位运算bit operation:and运算& (按位与) : a & b 1&1=1,0&0=0 , 0&1=0or运算 | (按位或) : 1 | 1 = 1, 1 | 0 = 1, 0 | 0=0xor运算 ^ (按位异或)exclusive or ,数学符号为“⊕”,计算机符号为“eor”:1 ^

2021-04-17 14:52:15 1005

原创 LinkedList中add,addLast,offer,pollLast,removeLast等区别

1、addLast() 与add()区别 /** * Appends the specified element to the end of this list. * * <p>This method is equivalent to {@link #add}. * * @param e the element to add */ public void addLast(E e) { linkLast(e

2021-04-16 15:26:26 9745 1

原创 打家劫舍(动态规划)求数组所有非相邻数字的最大和

题目讲解题目源于Leetcode练习你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1:输入:[1,2,3,1]输出:4解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 1 + 3 =

2021-04-15 17:31:02 227

原创 实现 Trie (前缀树),或者说字典树(单词查找树)

Trie数据结构介绍:具有相同前缀的字符串使用公共前缀。下图为存储了字符串"app", “apps” , “pe” 的字典树结构图所以设计时,每个Trie类都有个children属性和isEnd属性children是个Trie数组(无参构造时初始化大小为26,对应26个字母)isEnd属性记录此结点是否是字符串的结尾Note:..结点若未被字符串使用,则未被构造,为null正式实现代码:class Trie { private Trie[] children; pri

2021-04-14 17:19:28 102

原创 找出二叉搜索树任意两不同节点值之间的最小差值

需要首先明确二叉搜索树(Binary Search Tree)的概念:(也称之为二叉排序树Binary Sort Tree)若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;它的左、右子树也分别为二叉搜索树明确了概念后,就很容易知道,中序遍历二叉排序树,得到的是一个升序数组。这样子只需要将其中序遍历后,找出数组相邻元素差值中最小的差值即为答案。可以先遍历完再找最小差值,但为了提高效率,这里采用边遍历边记录最小值的方式..

2021-04-13 20:20:05 643

原创 基于MVC框架构建图书馆小程序

实现了提供游客注册及登录验证功能,并在验证成功后提供1)基于书号搜索书籍及2)显示所有书籍信息功能。而管理员登录界面与此区分,管理员登录成功后具有新增书籍信息等权力。所有代码在此仓库,点击访问 只需将Library_jdbc工程直接clone,架起服务器即可使用。本人使用环境 Netbeans IDE 8.2jia包配置如上,数据库是MySql。注:连接不同的数据库需要修改context.xml文件中的driverClassName,以及使用到的数据库名,表名等等。ps:本人主要实现业务逻

2021-03-04 23:13:46 331 2

原创 大数乘法(利用字符串存放数值)

当存放的数值比long型还大时,考虑溢出,便使用字符串来存储这里乘法采用的是小学列式乘法思路,时间效率为O(n^2)需要 明确的是m位数A与n位数B相乘,乘积不会大于(m+n)位数public class StringMultiply { public static String multiply(String num1, String num2) { if (num...

2020-03-26 16:18:58 420

原创 Python第三方库安装(ModuleNotFoundError: No module named 'requests')

ModuleNotFoundError: No module named ‘xxx’相信很多同学在使用python用pip install xxx时各种被墙。。在这里给大家推荐个网站https://www.lfd.uci.edu/~gohlke/pythonlibs/里面有非常丰富的python库,诸如:pymysql(注意若导入此包,程序名不可也叫做pymysql,曾经踩过的bug。。)以...

2020-03-02 00:34:56 3238 3

原创 整数反转

整数反转给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。解题思路代码比较简单...

2020-02-21 17:50:38 102

原创 如何给定两个二进制字符串,返回他们的和(用二进制表示)

如何给定两个二进制字符串,返回他们的和(用二进制表示)输入为非空字符串且只包含数字 1 和 0。示例 1:输入: a = “11”, b = “1”输出: “100”示例 2:输入: a = “1010”, b = “1011”输出: “10101”下面给出题解思路是将两个字符串尾对齐,较短的用 000 补齐。使得两个字符串长度一致,然后从尾端开始一一相加求和进行遍历计算。注...

2020-02-20 17:17:26 2569

原创 给定一个由0和1组成的矩阵,找出每个元素到最近的0的距离

给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离。(Leetcode 542)两个相邻元素间的距离为 1 。示例 1:输入:0 0 00 1 00 0 0输出0 0 00 1 00 0 0示例 2:输入:0 0 00 1 01 1 1输出:0 0 00 1 01 2 1注意:给定矩阵的元素个数不超过 10000。给定矩阵中至少有一个...

2020-02-17 18:39:45 12396 3

原创 如何将用链式结构按位逆序存储的两数相加

如何将用链式结构按位逆序存储的两数相加(Leetcode T2)例输入(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807此为题给ListNode的定义 public class ListNode { int val; ListNode next; ...

2020-02-14 18:51:08 169

原创 如何在函数中传递二维数组(可推广到多维)

如何在函数中传递二维数组(可推广到多维先展示一下函数一维数组传递方法void ControlArray1(int *a){//此为用指针接收数组首地址 for(int i=0;i<=5;i++)a[i]=i;}void ControlArray2(int b[]){ for(int i=0;i<=5;i++)b[i]=i;}void ControlArray3(in...

2019-11-10 14:36:20 1834

原创 关于指针的用法:讲解实例三种方法先序创建二叉树(为何创建二叉树要引用)

关于指针的用法:讲解实例三种方法先序创建二叉树关于为何void CreateBiTree(BiTree T)创建不了二叉树而必须CreateBiTree(BiTree &T)首先看我们的定义typedef struct BiTNode{ char data; struct BiTNode *lchild; struct BiTNode *rchild;}BiTNode,*Bi...

2019-11-07 20:14:31 1070 2

空空如也

空空如也

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

TA关注的人

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