自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring MVC框架下 从后台读取数据库并显示在前台页面【笔记自用】

1. 书写jsp页面 people.jsp1. 设计显示格式以及内容显示2. 设计显示内容的范围2.书写entity实体类 PeopleFormMap.java书写传入的参数主要包括:要引用的数据库名,以及主键字段h_eventid3.书写service层PeopleService 继承底层的 BaseService4.书写service实现类 PeopleServiceImpl@pe

2017-10-02 14:17:04 6671

原创 Mysql安装若干事宜

MySQL——修改root密码的4种方法(以windows为例)Mysql 服务无法启动 服务没有报告任何错误解决方案MySQL下载安装、配置与使用详情

2017-06-14 17:01:13 365

原创 House Robber

198. House Robber 题意:强盗计划沿街去盗窃每一个住户,每个房子都有一定量的现金,阻止盗窃的唯一阻碍是相邻的两个房子之间有安全系统,一旦这两个房子同时被盗窃,系统就会自动联系警察。给定一系列非负整数代表每个房子的金钱,求出再不惊动警察的情况下能盗窃到的最大值。 方法一: 一维DP, 当前最大值相当于Math.max(nums[i - 1],nums[i] + nums[i -

2017-03-20 11:47:48 360

原创 求最大子数组之和

问题描述:一个有n个元素的数组,这n个元素可以为正数也可以为负数,数组中连续的一个或者多个元素可以组成一个连续的子数组,一个数组可能有多个连续的子数组,求子数组和的最大值,例如:{1,-2,4,8,-4,7,-1,-5}最大和为子数组{4,8,-4,7},最大值为15方法一:蛮力法 最简单也是最容易想到的方法就是找到所有子数组,然后求出子数组之和,在所有子数组的和取最大值。public stati

2017-03-17 19:07:05 441

原创 LeetCode124. Binary Tree Maximum Path Sum

找出二叉树任意一点到另一点的路径,使得和最大. 解题思路:后序遍历,先计算左右子树的值l和r,若l<0或r<0,则不用加上 1 / \ 2 3最大为6 4 / \ 2 6 / \ / \ 1 3 5 7最大

2017-03-16 19:54:31 351

原创 LeetCode257. Binary Tree Paths

257. Binary Tree Paths 1 / \2 3 \ 5["1->2->5", "1->3"]题意: 给出一个二叉树,返回所有根节点到叶子的路径public class LeetCode257 { public List<String> binaryTreePaths(TreeNode root) { List<String> pat

2017-03-16 16:29:39 366

原创 重新构建二叉树

输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 思路: 1. 先序的第一个节点一定是根节点,这样我们就知道了根节点是1. 2. 再看中序, 在中序串之中,根结点的前边的所有节点都是左子树中,所以1节点前面

2017-03-15 10:57:57 342

原创 Convert to Binary Search Tree

108. Convert Sorted Array to Binary Search Tree 题目:将一个有序数组转化为一个二叉排序树 思路:数组中间那个节点为树的根节点,根节点的左子树节点应该是根节点左边那部分的中间节点,根节点的右节点应该是根节点右边那部分的中间节点,后面就按照这个规律依次类推了。public class LeetCode108 { public class Tre

2017-03-14 23:06:54 294

原创 LeetCode Permutations

题目46. Permutations 思路: 例如:1 2 3 1. 先看2 3。 23是一种,交换一下32是一种。 2. 然后看1,1和2换 后面变成13,又有2种;1和3换,后面是12,又有2种。 3. 假如前面再有个0,0又要分别和123来换。 简单地说,每个数都可以在每一个位上来一发。import java.util.ArrayList;import java.util.Lis

2017-03-14 14:25:03 310

原创 哈希查找

哈希查找是通过计算数据元素的存储地址进行查找的一种方法。O(1)的查找,即所谓的秒杀。哈希查找的本质是先将数据映射成它的哈希值。哈希查找的核心是构造一个哈希函数,它将原来直观、整洁的数据映射为看上去似乎是随机的一些整数。哈希查找的操作步骤:用给定的哈希函数构造哈希表;根据选择的冲突处理方法解决地址冲突;在哈希表的基础上执行哈希查找。public class hash { public

2017-03-13 22:50:50 461

原创 插值查找

基本思想: 基于二分查找算法,将查找点的选择改进为自适应选择,可以提高查找效率。当然,差值查找也属于有序查找。    折半查找这种查找方式,不是自适应的(也就是说是傻瓜式的)。二分查找中查找点计算如下: mid=(low+high)/2, 即mid=low+1/2*(high-low);通过类比,我们可以将查找的点改进为如下: mid=low+ (key-a[low])/(a[high]-a[l

2017-03-13 11:11:54 853

原创 LeetCode 92 & 206. Reverse Linked List

题目206. Reverse Linked List 题意:将单链表反转 思路:从头节点开始指针逆转 具体实现见下面代码:public class LeetCode206 { public class ListNode { int val; ListNode next; ListNode(int x) { val = x; }

2017-03-13 10:43:46 371

原创 LeetCode 142. Linked List Cycle II

题目:[leetcode-142]思路寻找环的入口,需要做如下的数学证明。先给出示意图如下:做如下假设:设直线段的端点为X点X点环的入口点为Y点Y点快慢指针相遇的点为Z点Z点其中,有XY−→−=l,YZ−→−=r0ZY−→−=c,\overrightarrow{XY}=l, \quad\overrightarrow{YZ}=r_{0} \quad\overrightarrow{ZY}=c,

2017-03-11 22:41:37 273

原创 折半查找

说明:元素必须是有序的,如果是无序的则要先进行排序操作。   基本思想:也称为是折半查找,属于有序查找算法。将n个元素分成大致相等的两部分,取a[n/2]与x做比较,如果x=a[n/2],则找到x,算法中止;如果x

2017-03-11 22:30:46 372

原创 顺序查找

说明:顺序查找适合于存储结构为顺序存储或链接存储的线性表。   基本思想:顺序查找也称为线形查找,属于无序查找算法。从数据结构线形表的一端开始,顺序扫描,依次将扫描到的结点关键字与给定值k相比较,若相等则表示查找成功;若扫描结束仍没有找到关键字等于k的结点,表示查找失败。复杂度分析: 查找成功时的平均查找长度为:(假设每个数据元素的概率相等) ASL = 1/n(1+2+3+…+n) = (n+

2017-03-09 14:33:56 1460

原创 汉明距离(Hamming Distance)

LeetCode 191 Number of 1 Bits计算一个数字的比特位包含1的个数思路1:将其转换成二进制,计算其中1的个数(见下面代码注释部分) 思路2:有个小技巧:value &= value - 1这个运算的结果就是把value最后一个1去掉,循环进行运算直到value等于0(所有的1都被去掉)就可以知道vaule拥有多少个1了public class LeetCode191 {

2017-03-08 11:17:56 3175

原创 堆排序

堆是一种特殊的树形数据结构,其每一个节点都有一个值,通常提到的堆都是完全二叉树,根节点的值小于(大于)两个子节点的值,同时,根节点的两个子树也分别是一个堆。堆排序思想:初始时把这些记录看作一棵顺序存储的二叉树然后将其调整为一个大顶堆然后将堆的最后一个元素与堆定元素(二叉树的根节点)进行交换,则堆的最后一个元素是最大元素接着将前n - 1 个元素(即不包括最大元素)重新调整为一个大顶堆,再将堆

2017-03-03 22:33:37 312

原创 希尔排序

希尔排序: 希尔排序也被称为“缩小增量排序”。基本原理: 先将待排序的数组元素分成多个子序列,使得每个子序列的元素个数相对较少,然后对各个子序列分别进行直接插入排序,待整个待排序序列“基本有序”后,最后再对所有元素进行一次直接插入排序。具体步骤:选择一个步长序列t1,t2,…,tk,满足ti>tj(i < j), tk = 1.按步长序列个数k,对待排序序列进行k趟排序。每趟排序,根据对应

2017-03-03 16:17:18 344

原创 快速排序

快速排序是一种非常高效的排序算法,它采取“分而治之”的思想,把大的拆分成小的,小的再拆分成更小的。原理: 对于给定的记录,通过一趟排序后,将原序列分为两部分,其中前一部分的所有记录均比后一部分的所有记录小,然后再依次对前后两部分的记录进行快速排序,递归该过程,直到序列中所有记录均有序为止。算法步骤:分解:将输入的序列num[m…n]划分成两个非空子序列num[m…k]和num[k+1…n],使前

2017-03-03 11:26:11 320

原创 LeetCode Path Sum

LeetCode 113 Path Sum II题意: 给定一棵二叉树和一个和,判断从树的根结点到叶子结点的所有结点的和是否等于给定的和,如果等于就记录这条路径。 解题思路:   对树进行遍历,并且使用回溯法进行求解。/** * Definition for a binary tree node. * public class TreeNode { * int val; *

2017-03-02 22:27:22 456

原创 归并排序

归并排序是利用递归与分治技术将数据序列划分成为越来越小的半子表,再对半子表排序,最后再利用递归方法将排好序的半子表合并成为越来越大的有序序列。归并排序中,“归“代表的是递归的意思,即递归的将数组折半的分离为单个数组。“并”就是将分开的数据按照从小到大的或者从大到小的顺序放在一个数组里。算法原理:对于给定的一组记录(假设n个),首先将每两个相邻的长度为1 的子序列进行归并,得到n/2(向上取整)个长

2017-03-02 11:27:44 325

原创 冒泡排序

冒泡排序就是把小的元素往前调或者把大的元素往后调,顾名思义就是整个过程就像气泡一样往上升,单向冒泡排序的思想是(假设由小到大排序):-对于给定n个记录,从第一个记录开始依次对相邻的两个记录进行对比,当前面的记录大于后面的记录时,交换位置。 - 进行完一轮比较和换位后,n个记录中最大的记录将位于第n位,然后对前面的n - 1 个记录进行第二轮比较 - 重复该过程直到进行比较的记录剩下一个为止。代码

2017-03-02 10:13:32 244

原创 插入排序

插入算法思想:对于给定一组记录,初始时假设第一个记录自成一个有序序列,其余记录为无序序列。接着从第二个记录开始,按照记录的大小依次将当前处理记录插入到其之前的有序序列中,直至最后一个记录插入到有序序列中为止。代码:public class InsertSort { public static void insert(int[] num){ if(num != null)

2017-03-02 09:34:47 299

原创 选择排序

选择排序是一种简单直接的排序算法,基本原理:对于给定的一组记录,经过第一轮比较后得到最小记录,然后将该记录与第一个记录位置进行交换。然后对不包括第一个记录以外的其他记录进行第二轮比较,得到最小记录和第二个位置进行交换。重复该过程,直到进行比较的记录只有一个时为止。代码:public class InsertSort { public static void insert(int[]

2017-03-02 09:29:32 252

原创 JDBC简单例子

这是一个JDBC的简单例子,完整的演示了连接数据库、执行简单查询以及处理查询结果的过程。import java.sql.*;public class SimpleJDBC { public static void main(String[] args) throws ClassNotFoundException, SQLException { //为MySql加载一个jdbc

2017-03-01 11:45:32 353

原创 java.util.List与java.awt.List区别

java.util.*包,包含集合框架,collection 类、事件模型、日期和时间设施、国际化和数组各种实用工具类(字符串标记生成器、随机数生成器和位数组),java.awt.*包,awt是Abstract Window ToolKit (抽象窗口道具包)的缩写,包含用于创建用户界面和绘制图形图像的所有类。java.util.* 包,包含一些工具类,如集合类中List、Map、HashMap

2017-03-01 09:00:39 934

原创 LeetCode406. Queue Reconstruction by Height

406. Queue Reconstruction by Height让身高按照降序排列,高的在前面,同身高的情况下让要求前面人数人少的在前面import java.util.List;import java.util.Arrays;import java.util.Comparator;import java.util.LinkedList;public class LeetCode406

2017-02-28 23:02:46 315

原创 栈和队列方法对比

栈:后进先出(last in first outside)Stack<Integer> s1 = new Stack<>();s1.empty() //如果栈是空的,返回真s1.peek() //返回栈的顶部元素s1.pop()

2017-02-28 11:50:21 501

原创 225. Implement Stack using Queues

225. Implement Stack using Queues使用两个队列实现栈,思路: - q1为入队列提供压栈功能,q2为出队列提供出栈功能 - 要压栈,入队列q1即可,当出栈时,分两种情况: – 若队列q1中只有一个元素,则让q1中的元素出队列并输出 – 若队列q1中不只一个元素,则队列q1中所有元素出队列,入队列q2,最后一个元素不入队列q2,输出钙元素,然后将队列q2所有元素

2017-02-28 11:35:55 347

原创 232. Implement Queue using Stacks

232. Implement Queue using Stacks思路: - 使用两个栈模拟队列Q, A为插入栈,B为弹出栈 - 假设AB都为空,则栈A提供入队列功能,栈B提供出队列功能 - 要入队列,入A即可,出队列分两种情况: – 1)若栈B不为空,直接弹出B的数据 – 2)若栈B为空,依次弹出A的数据,放入栈B中,再弹出栈B数据代码块import java.util.Stack;pu

2017-02-28 09:55:24 338

原创 Arrays.copyOf() 用法:

Arrays.copyOf() 用法:Arrays的copyOf()方法传回的数组是新的数组对象,改变传回数组中的元素值,不会影响原来的数组。copyOf()的第二个自变量指定要建立的新数组长度,如果新数组的长度超过原数组的长度,则保留数组默认值,例如:代码块:import java.util.Arrays;public class ArrayDemo {public static void ma

2017-02-27 21:50:29 22763

原创 SpringMVC jdbc

SpringMVC jdbcjdbc.driverClass = com.mysql.jdbc.Driverjdbc.url = jdbc:mysql://127.0.0.1:3306/xmaster?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=tru

2017-02-27 16:54:40 443

转载 java的Arrays类的应用

java.util.Arrays类能方便地操作数组,它提供的所有方法都是静态的。具有以下功能:给数组赋值:通过fill方法。对数组排序:通过sort方法,按升序。比较数组:通过equals方法比较数组中元素值是否相等。查找数组元素:通过binarySearch方法能对排序好的数组进行二分查找法操作。“` java import java.util.Arrays; public clas

2017-02-27 16:51:24 566 2

原创 LeetCode 382

LeetCode 3821思路: - 首先计算链表长度 - 根据随机数,便利到指定的位置找到结果代码代码块语法遵循标准markdown代码,例如:public class LeetCode382 { int size = 0; ListNode head; public LeetCode382(ListNode head) { this.head = he

2017-02-27 12:38:44 490

原创 java中hasNext()和Next()区别

hasNext()和Next()效果其实是一样的,系统都会等待输入下一个字符,只是返回值不同,hasNext()会返回true,next()返回输入的字符。

2016-11-04 09:14:47 19150

转载 Java出现No enclosing instance of type E is accessible. Must qualify the allocation with an enclosing

最近在看Java,在编译写书上一个例子时,由于书上的代码只有一部分,于是就自己补了一个内部类。结果编译时出现:No enclosing instance of type E is accessible. Must qualify the allocation with an enclosing instance of type E(e.g.  x.new A() where x is an i

2016-11-03 10:22:43 550

空空如也

空空如也

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

TA关注的人

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