自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(203)
  • 资源 (4)
  • 收藏
  • 关注

转载 Leetcode解题思路总结(Easy)

近来走上了Leetcode刷题之路,不过刷题背后更重要的是思路,掌握了方法,举一反三融会贯通。故在此我总结每道题的解题思路,这篇博客只涵盖Easy模式的题目,并按照题目从简单到难的顺序来列举。Medium和Hard模式的请见我另外2篇博客。344 Reverse String,最近新加的一道题,用C++秒过,12秒,反转字符串,思路很简单,一种暴力方法就用直接用一个新的字符串存

2016-08-31 22:44:32 935

转载 【LeetCode】Valid Anagram (2 solutions)

Valid AnagramGiven two strings s and t, write a function to determine if t is an anagram of s.For example,s = "anagram", t = "nagaram", return true.s = "rat", t = "car", return false.N

2016-08-31 22:43:57 288

转载 【LeetCode】 Same Tree (2 solutions)

Same TreeGiven two binary trees, write a function to check if they are equal or not.Two binary trees are considered equal if they are structurally identical and the nodes have the same value.

2016-08-31 22:38:54 254

转载 【Leetcode】 Move Zeroes 移动零

Move ZeroesGiven an array nums, write a function to move all 0's to the end of it while maintaining the relative order of the non-zero elements.For example, given nums = [0, 1, 0, 3, 12], afte

2016-08-31 22:36:45 348

转载 【LeetCode】 Invert Binary Tree(二叉树反转 递归、非递归实现)

Invert a binary tree. 4 / \ 2 7 / \ / \1 3 6 9to 4 / \ 7 2 / \ / \9 6 3 1Trivia:This problem was inspired by this original tweet by Max Howe

2016-08-31 22:25:44 413

转载 【LeetCode】 Delete Node in a Linked List

Delete Node in a Linked List Total Accepted: 1872 Total Submissions: 3662Write a function to delete a node (except the tail) in a singly linked list, given only access to that node

2016-08-31 21:57:09 301

转载 【LeetCode】 Maximum Depth of Binary Tree 二叉树的最大深度

要求:求二叉树的深度(二叉树的深度为最远叶子节点到根节点的距离,即根节点到最远叶子节点的距离)Given a binary tree, find its maximum depth.The maximum depth is the number of nodes along the longest path from the root node down to the farthest

2016-08-31 21:51:16 268

转载 【LeetCode】 Add Digits 数字相加

1、题目名称Add Digits (非负整数各位相加)2、题目地址https://leetcode.com/problems/add-digits3、题目内容英文:Given a non-negative integer num, repeatedly add all its digits until the result has only one digit.中文:有一个

2016-08-31 21:45:14 426

转载 【Leetcode】 Flip Game 翻转游戏

You are playing the following Flip Game with your friend: Given a string that contains only these two characters: + and -, you and your friend take turns to flip two consecutive "++" into "--". Th

2016-08-31 21:36:37 787

原创 [Leetcode] Nim Game 尼姆游戏

Nim GameYou are playing the following Nim Game with your friend: There is a heap of stones on the table, each time one of you take turns to remove 1 to 3 stones. The one who removes the last stone

2016-08-31 21:32:30 402

原创 LeetCode:Reverse String

最近新加的一道题,用C++秒过,12秒,反转字符串,思路很简单,一种暴力方法就用直接用一个新的字符串存储,然后一个一个从后往前遍历旧的字符串。第二种就是原地用2个指针从两端往中间扫描,当left指针小于right指针时,就交换两个下标对应的值,否则就跳出循环。两种方法都是12ms过。同学用java做的时候遇到了坑,time limit exceed,好像是对于回车换行的情况,java的stri

2016-08-31 20:19:59 409

转载 JavaScript的异步实现

我们经常说JS是单线程的,比如node.js研讨会上大家都说JS的特色之一是单线程的,这样使JS更简单明了,可是大家真的理解所谓JS的单线程机制吗?单线程时,基于事件的异步机制又该当如何,这些知识在《JavaScript权威指南》并没有介绍,我也一直困惑了,直到看到一篇外文,才有了些眉目,这里与大家分享下。后来发现《JavaScript高级程序设计》高级定时器和循环定时器介绍过,不过觉得没我翻译这

2016-08-31 16:23:43 345

转载 Java中的拦截器、过滤器、监听器

一:拦截器 :是在面向切面编程的就是在你的service或者一个方法,前调用一个方法,或者在方法后调用一个方法比如动态代理就是拦截器的简单实现,                           在你调用方 法前打印出字符串(或者做其它业务逻辑的操作),也可以在你调用方法后打印出字符串,甚至在你抛出异常的时候做业务逻辑的操作。        1.Struts2拦截器是在访问某个Act

2016-08-31 11:15:30 473

转载 Java实现的拦截器

拦截器在在流行的开源框架中很常见,依赖的技术就是Java的动态代理。  理解拦截器的核心原理对理解这些开源框架的体系结构至关重要。  下面以一个简单的模型的来说明拦截器的实现的一般方法。  模型分为以下模块:  业务组件:是被代理和被拦截的对象。  代理处理器:实现了InvocationHandler接口的一个对象  代理对象:Proxy对象。

2016-08-31 11:11:28 1918

转载 spring 如何决定使用jdk动态代理和cglib(网易面试题)

Spring1.2:将事务代理工厂[TransactionProxyFactoryBean] 或 自动代理拦截器[BeanNameAutoProxyCreator]的 proxyTargetClass 属性,设置为true,则使用CGLIB代理,此属性默认为false,使用JDK动态代理.以下引用 Spring Framework reference 2.0.5:S

2016-08-31 11:05:06 10321 2

转载 【编程之美】读书笔记:寻找最大的K个数

问题:查找大量无序元素中最大的K个数。         解法一:该解法是大部分能想到的,也是第一想到的方法。假设数据量不大,可以先用快速排序或堆排序,他们的平均时间复杂度为O(N*logN),然后取出前K个,时间复杂度为O(K),总的时间复杂度为O(N*logN)+O(K).        当K=1时,上面的算法的时间复杂度也是O(N*logN),上面的算法是把整个数组都进行了排序,而

2016-08-30 21:42:49 494

原创 二分法

1.特点及概念介绍 下面给大家讲解一下"二分法查找"这个java基础查找算法,那么什么是二分法呢?其实所谓的"二分法",就是一分为二的意思,综合起来理解就是一分为二的查找,但大家记住了,二分法是建立在"已经按顺序排好"的基础条件上,如果大家把这个二分法查找理解清楚了,那么会有助于你更好的理解快速排序,下面我就罗列出该算法的特点: 1.定义起始位置start(0角标),定义末位置

2016-08-30 21:05:59 943

转载 BIO,NIO,AIO

关于BIO | NIO | AIO的讨论一直存在,有时候也很容易让人混淆,就我的理解,给出一个解释:BIO | NIO | AIO,本身的描述都是在Java语言的基础上的。而描述IO,我们需要从两个层面:编程语言实现原理底层基础从编程语言层面BIO | NIO | AIO 以Java的角度,理解,linux c里也有AIO的概念(库),这些概念不知道什么原因被炒火起

2016-08-30 19:35:53 331

转载 Hessian 原理分析

一.      远程通讯协议的基本原理网络通信需要做的就是将流从一台计算机传输到另外一台计算机,基于传输协议和网络 IO 来实现,其中传输协议比较出名的有 http 、 tcp 、 udp 等等, http 、 tcp 、 udp 都是在基于 Socket 概念上为某类应用场景而扩展出的传输协议,网络 IO ,主要有 bio 、 nio 、 aio 三种方式,所有的分布式应用通讯都基于这个

2016-08-30 19:09:22 494

转载 java HashMap源码分析(JDK8)

这两天在复习JAVA的知识点,想更深层次的了解一下JAVA,所以就看了看JAVA的源码,把自己的分析写在这里,也当做是笔记吧,方便记忆。写的不对的地方也请大家多多指教。JDK1.6中HashMap采用的是位桶+链表的方式,即我们常说的散列链表的方式,而JDK1.8中采用的是位桶+链表/红黑树的方式,也是非线程安全的。当某个位桶的链表的长度达到某个阀值的时候,这个链表就将转换成红黑树。

2016-08-30 16:59:40 526

转载 红黑树

本文参考:I、  The Art of Computer Programming Volume III、 Introduction to Algorithms, Second EditionIII、The Annotated STL SourcesIV、 WikipediaV、  Algorithms In C Third EditionVI、 本人写的关于红黑树的前三

2016-08-30 16:56:43 278

转载 经典排序算法 - 桶排序Bucket sort

经典排序算法 - 桶排序Bucket sort补充说明三点1,桶排序是稳定的2,桶排序是常见排序里最快的一种,比快排还要快…大多数情况下3,桶排序非常快,但是同时也非常耗空间,基本上是最耗空间的一种排序算法我自己的理解哈,可能与网上说的有一些出入,大体都是同样的原理无序数组有个要求,就是成员隶属于固定(有限的)的区间,如范围为[0-9](考试

2016-08-30 16:53:38 386

原创 网易一面面试题 java

mysql数据库引擎及特点?mysql索引原理?B+B-树?进程通信的几种方式?根据先序,中序输出后序,手写算法?spring aop实现原理?动态代理的两种方式及特点?jvm类加载过程?传统io与Nio区别?Nio实现原理?

2016-08-30 16:47:51 2271

原创 计数排序、桶排序和基数排序

计数排序当输入的元素是 n 个 0 到 k 之间的整数时,它的运行时间是 Θ(n + k)。计数排序不是比较排序,排序的速度快于任何比较排序算法。由于用来计数的数组C的长度取决于待排序数组中数据的范围(等于待排序数组的最大值与最小值的差加上1),这使得计数排序对于数据范围很大的数组,需要大量时间和内存。例如:计数排序是用来排序0到100之间的数字的最好的算法,但是它不适合按字母顺序

2016-08-30 16:31:54 344

转载 初探Java8中的HashMap

原理简单讲解下HashMap的原理:HashMap基于Hash算法,我们通过put(key,value)存储,get(key)来获取。当传入key时,HashMap会根据key.hashCode()计算出hash值,根据hash值将value保存在bucket里。当计算出的hash值相同时怎么办呢,我们称之为Hash冲突,HashMap的做法是用链表和红黑树存储相同hash值的value。

2016-08-30 16:07:16 736

原创 远景能源面试题

一面题目:tcp三次握手,四次握手过程?设计模式中的代理模式,门面模式,适配器模式?JVM类加载机制及过程?valitile关键字?数据库四大隔离级别?Spring中的aop?spring中的aop实现的两种方式?Ioc解释一下?int数组中出了一个数字只有一个,其他的数字都有两个,写一个算法得到唯一的数字?给你两个栈实现队列的算法?HashMap的原理?jav

2016-08-30 15:57:07 4106

转载 面试-机试-编程题--剑指offer

如果要面试java,最好要看看http://www.cnblogs.com/lanhj/p/4672735.html 概括了所有可能问到的java问题1 360 内推笔试 这个题目涉及到用list存数组,map取值,还有就是怎么才能根据控制台中输入的是几行的数据,再回车然后继续往下程序运行,主要是用了for循环。以下是代码部分:[java

2016-08-30 10:40:26 1942

原创 java应届生面试考点收集

这些知识点来自于各大公司校招招聘的电话面试 未完待续 JavaSE面向对象封装、继承、多态(包括重载、重写) 常见区别String、StringBuffer、StringBuilder的区别:http://www.cnblogs.com/dolphin0520/p/3778589.htmlArrayList、L

2016-08-30 10:37:48 18255 3

原创 数据库事务隔离级别

数据库事务的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable,这四个级别可以逐个解决脏读、不可重复读、幻读这几类问题。√: 可能出现    ×: 不会出现脏读不可重复读幻读Read uncommitted√√√Re

2016-08-30 09:39:11 418

转载 数据库设计三大范式

为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。                 在实际开发中最为常见的设计范式有三个:1.第一范式(确保每列保持原子性)第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值

2016-08-30 09:16:17 396

原创 数据库(第一范式,第二范式,第三范式)

范式:英文名称是 Normal Form,它是英国人 E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出关系数据库模型后总结出来的,范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法。目前有迹可寻的共有8种范式,依次是:1NF,2NF,3NF,BCNF,4NF,5NF,DKNF,6NF。通常所用到的只是前三个范式,即:第一范式(1NF),第二范式(2NF)

2016-08-30 09:15:45 12117

转载 设计模式--单例模式

第一种(懒汉,线程不安全): 1 public class Singleton {   2     private static Singleton instance;   3     private Singleton (){}    4     public static Singleton getInstance() {   5     if (instance ==

2016-08-30 09:08:21 343

转载 《JAVA与模式》之观察者模式

在阎宏博士的《JAVA与模式》一书中开头是这样描述观察者(Observer)模式的:  观察者模式是对象的行为模式,又叫发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。  观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这

2016-08-30 08:58:14 278

转载 《JAVA与模式》之适配器模式

在阎宏博士的《JAVA与模式》一书中开头是这样描述适配器(Adapter)模式的:  适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。适配器模式的用途  用电器做例子,笔记本电脑的插头一般都是三相的,即除了阳极、阴极外,还有一个地极。而有些地方的电源插座却只有两极,没有地极。电源插座与笔记本电脑的

2016-08-30 08:50:03 386

转载 log4j基本原理

把log4j.properties或是log4j.xml放在src根下(ClassPath路径中),这个文件在第一次调用log4j时会在类路径下找到该文件并加载.1. log4j的意义在应用程序中添加日志记录总的来说基于三个目的:(1)监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析工作;(2)跟踪代码运行时轨迹,作为日后审计的依据;(3)担当集成开发环境中的调

2016-08-29 11:14:16 524

转载 Hibernate 缓存机制

一、why(为什么要用Hibernate缓存?)Hibernate是一个持久层框架,经常访问物理数据库。为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能。缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据。 二、what(Hibernate缓存原理是怎样的?)Hibern

2016-08-29 10:59:28 363

原创 链表的操作和基本算法 java

import java.util.HashMap;  import java.util.Scanner;  import java.util.Stack;    /**  *   * @author kerryfish  * 关于java中链表的操作  * 1. 求单链表中结点的个数: getListLength   * 2. 将单链表反转: reverseLi

2016-08-29 09:38:32 491

原创 剑指offer--二维数组中的查找 java

剑指offer算法 java实现题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上往下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该函数。例如下面的二维数组就是每行、每列都是递增排序。如果在这个数组中查找数字7,则返回true,如果查找数组5,由于数组中不含有该数字,则返回false。1

2016-08-29 09:08:06 543

转载 设计模式--适配器模式

1. 概述  将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。2. 解决的问题  即Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。3. 模式中的角色  3.1 目标接口(Target):客户所期待的接口。目标可以是具体的或抽象的类,也可以是接口。

2016-08-28 22:28:31 337

转载 用 ThreadLocal 管理用户session

很多项目中需要在代码中使用当前登录用户的信息,但是又不方便把保存用户信息的session对象传来传去,这种情况下,就可以考虑使用 ThreadLocal。 ThreadLocal是一个依附于本地线程的变量,按照我的理解,每次对服务器请求,都会使用到一个线程,ThreadLocal的作用就是在这个线程的使用过程中只为这个线程所用。 说说具体如何管理用户sess

2016-08-28 22:13:23 3175

后端架构技术栈思维导图

该文档是后端常用技术的技术栈文档,是一个后端开发人员需要掌握的后端技术。

2018-08-11

数据结构课程设计停车场管理系统

完整的工程,能够获取系统时间,非常好的课程设计,功能齐全,供大家参考

2011-12-29

空空如也

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

TA关注的人

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