- 博客(53)
- 资源 (5)
- 收藏
- 关注
原创 03动态规划-05Edit Distance
编辑距离:指将一个对象编辑为另一个对象的操作次数或代价。如:字符串 view 到 new 的编辑距离为2。 (删除v,将i该为n)动态规划求编辑距离记s1字符串长度为n1,s2字符串长度为n2,记d[ i , j ] 表示s1前 i 个字符所构成的前缀与s2的前 j 个字符所构成的前缀之间的编辑距离。d[n1 , n2]即为最终解。如果其中一个串为空串,则编
2017-04-23 10:29:43
256
原创 03动态规划-04coins-in-a-line
有 n 个硬币排成一条线。两个参赛者轮流从右边依次拿走 1 或 2 个硬币,直到没有硬币为止。拿到最后一枚硬币的人获胜。请判定 第一个玩家 是输还是赢?样例n = 1, 返回 true.n = 2, 返回 true.n = 3, 返回 false.n = 4, 返回 true.n = 5, 返回 true.====================
2017-03-07 19:41:04
284
原创 03动态规划-03maximal-square
在一个二维01矩阵中找到全为1的最大正方形样例1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0返回 4 ===================================== 11 1 0 0111 1 1 1 1 1 1 11 0 0 1 0 ↓11 1 0 01
2017-02-20 23:23:52
269
原创 03动态规划-02unique-paths
有一个机器人的位于一个M×N个网格左上角(下图中标记为'Start')。机器人每一时刻只能向下或者向右移动一步。机器人试图达到网格的右下角(下图中标记为'Finish')。问有多少条不同的路径?================================================================================动态规划 = 分治思想 +
2017-02-19 22:40:57
365
原创 03动态规划-01jump-game
给出一个非负整数数组,你最初定位在数组的第一个位置。数组中的每个元素代表你在那个位置可以跳跃的最大长度。判断你是否能到达数组的最后一个位置。样例A = [2,3,1,1,4],返回 true.A = [3,2,1,0,4],返回 false.=====================================================
2017-02-19 20:26:12
290
原创 02分治算法-03wood-cut
有一些原木,现在想把这些木头切割成一些长度相同的小段木头,需要得到的小段的数目至少为 k。当然,我们希望得到的小段越长越好,你需要计算能够得到的小段木头的最大长度。 注意事项木头长度的单位是厘米。原木的长度都是正整数,我们要求切割得到的小段木头的长度也要求是整数。无法切出要求至少 k 段的,则返回 0 即可。样例有3根木头[232, 124, 456], k=7,最
2017-02-14 23:57:40
384
原创 02分治算法-02fast-power
计算an % b,其中a,b和n都是32位的整数。样例例如 231 %3 = 2例如 1001000 %1000 = 0挑战 O(logn)=======================================================================注意到 a2 % b =((a%b)*(a%b)) % b
2017-02-13 11:46:48
263
原创 02分治算法-01二分查找
分治算法的思想就是分而治之,通过将原问题分解为与原问题相似的小问题,小问题再分解为规模更小的问题..最终变成一个个简单易解的问题。二分查找就是一种简单的分治算法。问题:给定一个排序的整数数组(升序)和一个要查找的整数target,用O(logn)的时间查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1。@Testpublic voi
2017-01-20 21:31:09
371
原创 01算法简介
一、算法 (算法+数据结构=程序)算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作。算法有五个重要特征:1)有穷性:一个算法必须总是在执行有穷步之后结束,且每一步都可在有穷时间内完成。2)确定性:算法中每一条指令必须有确切的含义,无二义性,并且在任何条件下,算法只有唯一的一条执行路径,即对相同的输入只能得到相同的输出。3)可行性:一个
2017-01-02 12:16:41
975
原创 13JSP内置对象exception
exception内置对象用来处理JSP文件执行时发生的所有错误和异常。exception对象和Java的所有对象一样,都具有系统的继承结构,exception对象几乎定义了所有异常情况,这样的exception对象和我们常见的错误有所不同。所谓错误,指的是可以预见的,并且知道如何解决的情况,一般在编译时可以发现。与错误不同,异常是指在程序执行过程中不可预料的情况,由潜在的错误机率导致,如果不
2017-01-01 18:56:26
412
原创 12JSP内置对象page
page对象是为了执行当前页面应答请求而设置的Servlet类的实体,即显示JSP页面自身,只有在JSP页面内才是合法的。page隐含对象本质上包含当前Servlet接口引用的变量,可以看作是this变量的别名,因此该对象对于开发JSP比较有用。page对象比较常用的方法如下所示:方 法 说 明getClass()
2017-01-01 18:54:07
244
原创 11JSP内置对象config
config对象被封装成javax.servlet.ServletConfig接口,它表示Servlet的配置,当一个Servlet初始化时,容器把某些信息通过此对象传递给这个Servlet。开发者可以在web.xml文件中为应用程序环境中的Servlet程序和JSP页面提供初始化参数。config对象的常用方法如下所示: 方 法
2017-01-01 18:52:50
235
原创 10JSP内置对象pageContext
pageContext对象是一个比较特殊的对象。它相当于页面中所有其他对象功能的最大集成者,使用它可以访问到本页中所有其他对象。pageContext对象被封装成javax.servlet.jsp.pageContext接口,主要用于管理对属于JSP中特殊可见部分中已经命名对象的访问。它的创建和初始化都是由容器来完成的,JSP页面里可以直接使用pageContext对象的句柄,pageCo
2017-01-01 18:49:07
453
原创 09JSP内置对象out
①概要out对象主要用来向客户端输出各种数据类型的内容,并且管理应用服务器上的输出缓冲区,缓冲区默认值一般是8KB,可以通过页面指令page来改变默认值。在使用out对象输出数据时,可以对数据缓冲区进行操作,及时清除缓冲区中的残余数据,为其他的输出让出缓冲空间。待数据输出完毕后,要及时关闭输出流。out对象被封装为javax.servlet.jsp.JspWriter类的对象,在实际上应用上o
2017-01-01 18:44:39
359
原创 08JSP内置对象application
①概要 application对象用于保存所有应用程序中的公有数据,服务器启动并且自动创建application对象后,只要没有关闭服务器,application对象将一直存在,所有用户可以共享application对象。application对象与session对象有所区别,session对象和用户会话相关,不同用户的session是完全不同的对象,而用户的application对象
2017-01-01 18:39:48
277
原创 07JSP内置对象session
①概要HTTP协议是一种无状态协议。也就是说,当一个客户向服务器发出请求,服务器接收请求,并返回响应后,该连接就被关闭了,此时服务器端不保留连接的有关信息,因此当下一次连接时,服务器已没有了以前的连接信息,此时将不能判断这一次连接和以前的连接是否属于同一客户。为了弥补这一缺点,JSP提供了一个session对象,这样服务器和客户端之间的连接就会一直保持下去,但是在一定时间内(系统默认在30mi
2017-01-01 18:33:56
308
原创 06JSP内置对象response
①概要response对象和request对象相对应,用于响应客户请求,向客户端输出信息。response对象是javax.servlet.http.HttpServletResponse接口类的对象,它封装了JSP产生的响应,并发送到客户端以响应客户端的请求。请求的数据可以是各种数据类型,甚至是文件。②重定向网页在JSP页面中,可以使用response对象中的sendRe
2017-01-01 18:25:33
431
原创 05JSP内置对象request
①概要request的各种方法主要用来处理客户端浏览器提交的请求中的各项参数和选项。②访问请求参数在Web应用程序中,经常还需要完成用户与网站的交互。例如,当用户填写表单后,需要把数据提交给服务器处理,服务器获取到这些信息并进行处理。request对象的getParameter()方法,可以用来获取用户提交的数据。访问请求参数的方法如下: String
2017-01-01 18:17:28
263
原创 04JSP注解
①HTML中的注解 ②带JSP表达式的注解 -->③隐藏注解 在前面已经介绍了如何应用HTML中的注释,这种注释虽然在客户端浏览页面时不会看见,但它却存在于源代码中,可通过在客户端查看源代码看到被注释的内容。所以严格来说,这种注释并不安全。下面将介绍一种隐藏注释,注释格式如下: 使用该方法注释的内容,不
2017-01-01 16:30:24
225
原创 03JSP动作标识
①概要 在JSP中提供了一系列的使用XML语法写成的动作标识,这些标识可用来实现特殊的功能,例如请求的转发、在当前页中包含其他文件、在页面中创建一个JavaBean实例等。 动作标识是在请求处理阶段按照在页面中出现的顺序被执行的,只有它们被执行的时候才会去实现自己所具有的功能。这与指令标识是不同的,因为在JSP页面被执行时首先进入翻译阶段,程序会先查找页面中的指令标识并将
2017-01-01 16:06:24
618
原创 02JSP脚本标识
①概要在JSP页面中,脚本标识使用得最为频繁。因为它们能够很方便、灵活地生成页面中的动态内容,特别是Scriptlet脚本程序。JSP中的脚本标识包括以下三种元素:声明识(Declaration)、JSP表达式(Expression)和脚本程序(Scriptlet)。 通过这些元素,就可以在JSP页面中像编写Java程序一样来声明变量、定义函数或进行各种表达式的运算。在JSP页面
2017-01-01 15:53:39
912
原创 01JSP指令标识
①概要在JSP中主要包含3种指令,分别是page指令(页面指令)、include指令和taglib指令。②page指令page指令可以放在JSP页面中的任意行,但为了利于程序代码的阅读,习惯上放在文件的开始部分。 [ language="java" ] 默认值为java [ contentTy
2017-01-01 15:48:04
260
原创 07JavaScript日期
①Date日期时间对象的创建 var myDate=new Date( [日期时间字符串] ) var myDate=new Date( [year, month, day] ) 用构造方法可以创建由参数指定的日期时间对象,可以使用日期时间字符串、也可以使用年、月、日数组作参数,省略参数默认为机器系统当前的日期时间。 使用年、月、日数组作参数创建指定日期时间
2016-12-31 16:28:33
256
原创 06JavaScript字符串对象
字符串是JavaScript的基本数据类型,每个字符串常量、变量都是String对象。字符串对象的内容是不可变的,String对象的函数对字符串的处理都不会改变原字符串内容,而是将处理结果作为新的字符串对象返回。①String对象的长度属性 length 字符串对象只有一个长度属性(不是方法),可用于获取字符串所包含的字符个数。 例如:var txt="Hello Worl
2016-12-31 16:21:45
196
原创 05JavaScript数组对象
①Array数组对象的创建与length属性 数组是JavaScript的Array对象,可以使用new创建空数组对象,也可以用初始化数据创建数组对象。var myArray=new Array(); 创建空数组对象var myArray=new Array(长度); 创建具有初始长度的数组对象var myArray=
2016-12-31 16:19:55
190
原创 04JavaScript事件
①简介事件是一些可以通过脚本响应的页面动作。当用户按下鼠标键或者提交一个表单,甚至在页面上移动鼠标时,事件就会出现。绝大多数事件的命名是描述性的,很容易理解,例如Click、Submit、MouseOver等,通过名称就可以猜测其含义。 例子: 在同一目录下创建js外部文件window.onunload=function() { } //记忆匿名函数,避
2016-12-31 16:04:52
298
原创 03JavaScript函数
①简介JavaScript函数分为 系统内部函数 和 系统对象定义的函数 及 用户自定义函数。函数就是完成一个特定的功能的程序代码。函数只需要定义一次,可以多次使用,从而提高程序代码的复用率,既减轻开发人员的负担,以降低了代码的重复度。函数需要先定义后使用,JavaScript函数一般定义在HTML文件的头部head标记或外部JS文件中,而函数的调用可以在HTML文件的主体body标记
2016-12-31 15:59:01
258
原创 02JavaScript程序
JavaScript程序由语句、函数、对象、方法、属性等构成,程序结构包括顺序、分支和循环三种基本结构。语句和语句块JavaScript语句是发送给浏览器的命令,这些命令的作用是告诉浏览器要做的事情。JavaScript语句可以分批组合起来形成语句块,语句块以左花括号“{”开始,以右花括号“}”束。代码JavaScript代码是由若干条语句或语句块构成的执行体。
2016-12-31 15:54:11
234
原创 01JavaScript简介及放置位置
①JavaScript简介JavaScript最初由Netscape公司的Brendan Eich设计,最初命名为LiveScript,是一种动态、弱类型、基于原型的语言。后来,Netscape与Sun公司进行合作,将LiveScript改名为JavaScript。JavaScript的设计最初受到Java启发,语法上与Java有很多类似之处,并借用了许多Java的名称和命名规范。
2016-12-31 15:11:59
532
原创 24解释器模式
解释器模式笔记①定义:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。②代码://抽象表达式public abstract class AbstractExpression{ //抽象解释方法 public abstract void Interpret(Context context);}//终端解
2016-12-31 13:06:17
225
原创 23迭代器模式
迭代器模式笔记①定义:提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露该对象的内部表示//很多高级语言都有将迭代器模式整合到语言中。//迭代器模式分离了集合对象的遍历行为,它抽象出一个迭代器类来负责具体的遍历行为,这样做的好处是既不暴露集合的内部结构,又可以让外部代码以透明的方式访问集合内部数据。②适用的地方:当需要访问一个聚集对象的内容而又
2016-12-31 13:05:22
273
原创 22责任链模式
责任链模式笔记①定义:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。②代码://处理请示的接口public abstract class Handler{ protected Handler successor; //设定被授权者 public void
2016-12-31 13:03:14
345
原创 21访问者模式
访问者模式 (最复杂的)笔记①定义:表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。②代码://抽象访问者,声明访问者可以访问哪些元素public abstract class Visitor{ public abstract void VisitConcreteElementA(Concret
2016-12-31 13:02:02
364
原创 20命令模式
命令模式笔记①定义:将一个请求封装为一个对象,从而使用户可用不同的请求对客户进行参数化。对请求排队或记录请求日志,并支持可撤销的操作。②代码://抽象命令public abstract class Command{ protected Receiver receiver; //构造函数 public Command(Receiver receiver
2016-12-31 13:00:40
229
原创 19中介者模式
中介者模式笔记①定义:用一个中介对象来封装一系列的对象交互。中介者使各个对象不需要显示地互相引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。②代码://抽象中介者public abstract class Mediator{ public abstract void Send(String message , Colleague colleag
2016-12-31 12:58:53
252
原创 18备忘录模式
备忘录模式笔记①定义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可以将该对象恢复到原型保存的状态。②代码://Originatorpublic class Originator{ private String State; //建立状态存储对象 public Memento CreateMemento(){ r
2016-12-31 12:57:16
328
原创 17观察者模式
观察者模式笔记①定义:观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生改变时,会通知所有观察者对象,使它们能够自动更新自己。②代码://抽象的观察者类public abstract class Observer{ public abstract void Update();}//具体的观察者pub
2016-12-31 12:55:56
370
原创 16状态模式
状态模式笔记①定义:当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。②代码://抽象的状态类public abstract calss State{ public String stateName; public abstract void Handle(Context context);}//具体状态Apublic class
2016-12-31 12:54:20
203
原创 15策略模式
策略模式笔记①定义:策略模式定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化不会影响到使用算法的客户。②代码://抽象策略类public abstract class Strategy{ public abstract void Algorithm();}//上下文public class Context{ Strateg
2016-12-31 12:53:02
161
原创 14模板方法模式
模板方法模式 (父类的方法调用了子类重写的方法..)笔记①定义:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。TemplateMethod使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤。②代码://抽象模板类public abstract class AbstractClass{ public abstract void Pri
2016-12-31 12:51:25
200
从Paxos到Zookeeper 分布式一致性原理与实践 [倪超著][电子工业出版社][2015.02][422页]
2018-07-19
MySQL-server-community-5.1.73-1.rhel5.x86_64.rpm
2017-10-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人