自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【LeetCode】将数组分成和相等的三个部分

问题 给你一个整数数组 A,只有可以将其划分为三个和相等的非空部分时才返回 true,否则返回 false。 形式上,如果可以找出索引 i+1 < j 且满足 (A[0] + A[1] + … + A[i] == A[i+1] + A[i+2] + … + A[j-1] == A[j] + A[j-1] + … + A[A.length - 1]) 就可以将数组三等分。 思想 如果数组的和...

2020-03-11 15:30:50 170

原创 【LeetCode】332.零钱兑换

问题 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 思想 动态规划思想 设F(n)为总额为n时凑成的最少的硬币数,F(0)=0 推算公式为:F(0)=0,F(n)=min(F(n-coins[i]))+1 代码 class Solution { public int ...

2020-03-08 22:36:42 91

原创 【LeetCode】59.队列的最大值

问题 请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的时间复杂度都是O(1)。 若队列为空,pop_front 和 max_value 需要返回 -1 思想 用LinkedList结构模拟队列,remove(0)表示出队,add()表示入队 每一次push和pop对队列的最大值都会产生影响。 1)p...

2020-03-07 13:42:04 168

原创 【LeetCode】45.和为s的连续正整数

问题 输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。 序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。 思想 采用双指针。 由于一开始并不知道数组的大小,所以先不初始化,利用LinkedList记录所有可能的情况,以start,end,start,end…的形式存储。数组的长度即为lis.size()/2。 用sum记录当前start...

2020-03-06 19:15:23 160

原创 【LeetCode】1103分糖果Ⅱ

问题 排排坐,分糖果。 我们买了一些糖果 candies,打算把它们分给排好队的 n = num_people 个小朋友。 给第一个小朋友 1 颗糖果,第二个小朋友 2 颗,依此类推,直到给最后一个小朋友 n 颗糖果。 然后,我们再回到队伍的起点,给第一个小朋友 n + 1 颗糖果,第二个小朋友 n + 2 颗,依此类推,直到给最后一个小朋友 2 * n 颗糖果。 重复上述过程(每次都比上一次多给...

2020-03-05 18:29:56 170

原创 【LeetCode】最长回文子串

问题 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 扩展中心法 1、最长子串的长度可能是奇数,也可能是偶数个。所以我们需要选取一个字符或两个字符作为中心进行扩散 2、找到关于中心对称的最长子字符串即为所求 马拉车算法 该算法改进了扩展中心算法(以下内容可能与原始算法有出入)。 1、为了避免处理奇数长度和偶数长度,先对原字符串进行处理。在原字符串的基础上间...

2019-10-24 22:01:50 143

原创 【LeetCode】两数相加

题目 给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 代码 public ListNode addTwoNumbers(ListNode l1, ListNode l2) { in...

2019-10-20 21:34:17 87

原创 jdk 1.8中HashMap的put(key,value)方法

首先调用put()方法,put方法调用hash(key)方法计算hash值 public V put(K key, V value) { return putVal(hash(key), key, value, false, true); } 具体分析一下putVal的过程 final V putVal(int hash, K key, V value, bool...

2019-09-23 20:00:54 1936

原创 mybatis多表查询操作

表之间的关系(类似于实体之间的关系) 一对多 一对一 多对多 多对一 一对多 (1)在“一”对应端加入“多”端的集合 public class User implements Serializable { //能够序列化 private Integer id; private String userName; private Date birthday; ...

2019-09-01 21:44:55 140

原创 mybatis单表操作

在Dao文件相应的映射配置文件(*.xml)中写sql语句以及传入的参数 新增数据 <mapper namespace="com.itheima.dao.IUserDAO"> <!-- namespace必须是全限定类名 --> <insert id="saveUser" parameterType="com.itheima.domian.User"&g...

2019-09-01 14:10:17 222

原创 红黑树

红黑树是二叉搜索树的一种 红黑树的性质: 每个节点的颜色要么为红色,要么为黑色; 根节点是黑色的; 叶子节点是黑色的(根据《算法导论》一书,我们把最底层的结点下面两个空节点视为叶子节点,成为Nil); 任意两个红色节点不能为父子关系; 每个节点到其后代叶子节点的黑高相同。(由于该特性导致红黑树是一种近似平衡的二叉树) 黑高(hb):从某个节点x出发(不含该节点)到达一个叶子节点的任意一条...

2019-08-31 14:45:42 89

原创 mybatis的环境搭建【IDEA】

创建Maven工程并导入坐标 创建工程没什么可说的,就是create new project并选择Maven工程 导入坐标 选择pom.xml文件,加入dependecies属性,使用mybatis需要添加的dependency是org.mybatis和mysql【这里mysql的版本号注意需要与你自己电脑的版本号匹配】。 <?xml version="1.0" encodi...

2019-08-30 15:30:34 309

原创 快速排序

快排也是采用的分治的思想。 首先从数组中挑选一个基准,比基准大的放在基准右边,否则放在基准左边。这样一轮下来,基准的位置就确定了。 递归调用,以相同的方法对待得到的两个子数组,直到子数组大小为2。因为数组大小为2时,确定了基准的位置,该数组就是有序的了。 我每次以array[low]即数组的首元素作为基准来进行快速排序的。实现代码如下: //每次都以array[low]为基准,找到该数所在的位...

2019-08-28 10:48:15 81

原创 归并排序

归并排序的思想是分而治之、归并的思想。 假设middle左边和右边的数组已经排好序了,那我们要做的事就是合并这两个子数组,合并的过程就称为“并”。那怎么才能做到使左边和右边的数组已经排好序呢?这就是“归”的步骤要做的事,不断拆分数组,直到子数组大小为1,直接调用“并”的过程就好了。 实现代码如下: //left~middle有序,middle+1~right有序,该函数实现了“并”的部...

2019-08-27 21:39:00 79

原创 【剑指offer】面试题11:旋转数组的最小数字

题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 思路:暴力解法就是遍历了,但是这样没有用到它是旋转数组这个特性。 旋转数组应该是以最小元素为分界线,左边是一个非递减数组,右边也是一个非递减数组。 若array[0]<array[array.length-1]的,则这个数组是一个没有经过旋转的非递减数组,...

2019-08-27 19:51:16 122

原创 二叉搜索树

二叉搜索树要么是一颗空树,要么是满足以下条件的二叉树:对于二叉搜索树上每个节点X,左子树所有项的值小于X的值,右子树所有项的值大于X的值。 中序遍历二叉搜索树可以得到其升序排序结果。 以下代码提供了二叉搜索树创建、插入以及中序遍历的功能: public class BinarySearchTree<T extends Comparable> { private Node ...

2019-08-26 21:43:15 108

原创 【剑指offer】面试题8:二叉树的下一个节点

题干:给定一颗二叉树和其中一个节点,找出中序遍历的下一个节点。 思路:根据中序遍历去查找,设置一个flag去标记已经遍历的结点是否是给定的结点。我在这里借用了自己之前写的类(参见添加链接描述),所以没有指向父结点的指针。代码如下: public BinaryTreeNode findNext(BinaryTree bTree , BinaryTreeNode target) { ...

2019-08-25 21:01:23 129

原创 堆排序

(二叉)堆实质是一个数组,可以被近似的看做一个完全二叉树。以下代码是基本的二叉树代码框架: public class BinaryHeap<T extends Comparable<T>> { //规定其实现了Comparable接口,一是为了能对泛型进行实例化,二是保证了该类是可排序的 private int currentSize; // 堆中元...

2019-08-25 17:06:54 105

原创 IDEA jsp无法实时更新

网上一堆教程都说修改tomcat的配置,但是亲测无效,最后还是在界面一个个找按钮,找到了解决方法。。直接上图: 点一下那个圈圈,选择update class and resources就ok了。 ...

2019-08-23 21:48:24 550 3

原创 【剑指offer】面试题7:重建二叉树

输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 public TreeNode reConstructBinaryTree(int [] pre,int [] in) { //采用递归的思想 if(pre.length<=0||pre.length!=in.length) { ...

2019-08-23 20:05:12 189

原创 二叉树的遍历

要想遍历一个二叉树首先得有一个二叉树,我在实现的时候,一开始想着一个结点一个结点的添加,但是那样很麻烦,所以就提供了一个运用数组创建二叉树的方法。代码如下: public class BinaryTree<T> { //利用数组创建二叉树 private T[] nums ; private BinaryTreeNode root; //初始化二叉树...

2019-08-23 16:39:22 152

原创 连接mysql报错:error 2003 (hy000):can't connect to mysql server on 'localhost' (10061)

解决方法: 1)将mysql目录下的data文件夹删除,重新初始化:mysqld --initialize --console 2)记录下初始化后的初始登录密码,就是@localhost:后面的那一大串,ctrl+c复制到txt文件里 3)用navicat进行连接,会提示重设密码,然后就ok了 参考链接: https://blog.csdn.net/qq_37350706/article/deta...

2019-07-16 10:28:10 211

原创 抽象类与接口

抽象类与接口都是不可以被实例化的,只能被实现和继承,且他们都能包含抽象方法。 就抽象程度而言,接口的抽象程度比抽象类的要高。 接口体现的是一种规范,规定了系统与外界交互需要实现的服务,没有具体方法的实现;而抽象类是一种模板,它实现了部分功能,需要其子类进行特殊化的实现。 它们的用法差别如下: 接口 抽象类 方法 abstract、static、default、private,没有...

2019-06-20 16:48:42 102

原创 HotSpot虚拟机中的对象

对象的创建 对虚拟机而言,只需要前四步即为完成创建工作,对于进程而言需要执行init方法 类加载检查:在常量池定位类的符号引用,确定该类是否被加载、解析、初始化 分配内存:从Java堆中划分内存,所需内存在类加载时就已经确定,根据内存是否规整(取决于垃圾收集器是否有压缩整理功能),内存分配方式分为两种:“指针碰撞”和“空闲列表” ps:分配内存可能引发并发问题,解决方式有两种: ①CAS+失败...

2019-03-28 22:21:30 165

原创 JVM之运行时数据区

        JVM负责内存动态分配、垃圾回收,对内存进行分区管理,这些区域包括:程序计数器、虚拟机栈、本地方法栈、堆、方法区。 程序计数器 当前线程的字节码的行号指示器(Java方法)或为空(Native方法) 线程独占 唯一一个没有规定OutOfMemoryError(扩展时无法申请到足够内存)的区域 Jav...

2019-03-24 22:24:30 104

空空如也

空空如也

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

TA关注的人

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