最近研究了一下最近公共祖先算法,根据效率和实现方式不同可以分为基本算法、在线算法和离线算法。下面将结合hihocoder上的题目分别讲解这三种算法。1、基本算法 对于最近公共祖先问题,最容易想到的算法就是从根开始遍历到两个查询的节点,然后记录下这两条路径,两条路径中距离根节点最远的节点就是所要...
分类:
编程语言 时间:
2015-05-03 00:39:47
收藏:
0 评论:
0 赞:
0 阅读:
496
最近看到winter(寒冬)老师的一篇博文,说的是js这类基于原型的继承与普通的基于类继承方式的差异。文章最后抛出几个有意思的小练习尝试的解决了下。
一般来说,创建一个对象有如下三个步骤:
1. 构建一个新对象
2. 把新对象的__proto__指向函数对象的共有对象属性:prototype
3. 以新对象为this执行构造函数
Function.prototyp...
分类:
编程语言 时间:
2015-05-02 23:26:57
收藏:
0 评论:
0 赞:
0 阅读:
304
题目:
统计一个数字在排序数组中出现的次数。例如输入排序数组{1,2,3,3,3,3,4,5}和数字3,由于3在这个数组中出现了4次,因此输出4.
解法一:O(n)
顺序遍历
解法二:O(logn)
用二分查找,分别找出第一个3,和最后一个3的位置,然后计算个数。
#include
int GetFirstK(int* data,int length,int k,i...
分类:
编程语言 时间:
2015-05-02 23:26:07
收藏:
0 评论:
0 赞:
0 阅读:
303
一道二维树状数组的题目,比较经典,适合新手练习。
可以打印出来每次操作后矩阵的情况,就能很直观的理解这个树状数组是怎么实现的,他将多余的部分巧妙的重复了偶数次,使得多余部分奇偶不会发生变化。
#include
#include
#include
#include
#include
#include
#include
using namespace std;
int T,n,m,bit[1005...
分类:
编程语言 时间:
2015-05-02 23:25:57
收藏:
0 评论:
0 赞:
0 阅读:
298
一、描述
外观模式又叫门面模式,就是对一个复杂的系统进行包装,该系统对外的接口统一由外观类提供。当一个复杂的系统需要对外提供接口时,就需要将对外提供的接口统一封装在一个外观类中供外系统使用。外观模式最大的特点就是将细粒度的对象包装成粗粒度的对象,应用程序通过访问这个外观对象来完成细粒度对象的调用。这样应用程序只能看到外观对象,而不会看到具体的细节对象,这样无疑会降低应用程序的复杂度,并且提高了程...
分类:
编程语言 时间:
2015-05-02 23:25:37
收藏:
0 评论:
0 赞:
0 阅读:
306
如果一个方法可以导致一个异常但不处理它,它必须指定这种行为以使方法的调用者可以保护它们自己而不发生异常。做到这点你可以在方法声明中包含一个throws子句。一个 throws 子句列举了一个方法可能抛出的所有异常类型。这对于除Error或RuntimeException及它们子类以外类型的所有异常是...
分类:
编程语言 时间:
2015-05-02 23:22:37
收藏:
0 评论:
0 赞:
0 阅读:
369
a=0;b=1c=a&&(b=3)最终c=0; b=1因为从左至右进行时,若遇到运算符左边的操作数是 0(逻辑假),则停止运算。a=1;b=1;c=0;d=a||b||(c=b+3);最终d=1;c=0;因为从左至右进行时,若遇到运算符左边的操作数是 1(逻辑真),则停止运算。记住!短路原则是 与(...
分类:
编程语言 时间:
2015-05-02 23:13:27
收藏:
0 评论:
0 赞:
0 阅读:
495
我们九天鸟的p2p网贷系统,基本算是开发完成了。 ? ?现在,想给后端的Java代码,增加版权信息。 ? ?手动去copy-paste,太没有技术含量。 ? ?于是,写了个Java工具类,给Java源文件增加版权信息。 ? ...
分类:
编程语言 时间:
2015-05-02 22:08:37
收藏:
0 评论:
0 赞:
0 阅读:
448
今天尝试着写利用纯C++写多线程,撇开windows的API,利用C++11提供的thread.h中提供的创建线程类完成线程的创建和执行。
我自己封装了一个MysqlServer类,在类中包含了一个sync函数,此函数负责创建一个线程,并且一直执行,直到程序被关闭才结束,去完成其他的一些操作。
sync刚开始是这样的:
我进行调试后发生了这样的错误:
但是sync创建的这个线程仍在运...
分类:
编程语言 时间:
2015-05-02 22:07:17
收藏:
0 评论:
0 赞:
0 阅读:
280
我们九天鸟的p2p网贷系统,基本算是开发完成了。 现在,想给后端的Java代码,增加版权信息。 手动去copy-paste,太没有技术含量。 于是,写了个Java工具类,给Java源文件增加版权信息。 源代码,开头的注释,就是版权描述。详细实现,就看代码吧。 /*
*Copyright © 2015 JiuTianNiao
*武汉九天鸟科技有限公司
*http://Jiu...
分类:
编程语言 时间:
2015-05-02 22:05:17
收藏:
0 评论:
0 赞:
0 阅读:
280
抽象类:具有抽象方法的类,需要使用abstract关键字修饰
关系图
下面上代码
package com.ray.testobject;
/**
* 抽象类
*
* @author ray
* @since 2015-05-02
* @version 1.0
*
*/
public abstract class Perso...
分类:
编程语言 时间:
2015-05-02 22:05:07
收藏:
0 评论:
0 赞:
0 阅读:
246
1.我们在c语言中会经常碰到强制类型转换。在这,我介绍一种结构pointer类型转换,但是有前提(有点类似于c++中的继承中的子父对象的cast)。简单的介绍一下:首先我们要知道一个结构的指针,并且 在这个结构体中,第一个结构成员必须也是一个结构体(最好是结构体类型).那么我们可以这个结构体指针转换...
分类:
编程语言 时间:
2015-05-02 22:00:26
收藏:
0 评论:
0 赞:
0 阅读:
430
我们定义了一个可以传入右值引用的构造函数的类B,在使用std::move的时候,我们非常容易犯一个错误。看下面的代码:class B{public: B() :s(10), ptr(new int[s]) { std::cout << "default constructor...
分类:
编程语言 时间:
2015-05-02 21:57:36
收藏:
0 评论:
0 赞:
0 阅读:
1137
1、问题描述: 给定N个顶点的多边形,每个顶点标有一个整数,每条边上标有+(加)或是×(乘)号,并且N条边按照顺时针依次编号为1~N。下图给出了一个N=4个顶点的多边形。 游戏规则 :(1) 首先,移走一条边。 (2) 然后进行下面的操作: 选中一条边E,该边有两个相邻的顶点,不妨称为...
分类:
编程语言 时间:
2015-05-02 21:57:26
收藏:
0 评论:
0 赞:
0 阅读:
338
给定由n个整数组成的序列a1,a2,...,an,求该序列子段和的最大值,如当序列为-2,11,-4,13,-5,-2,则序列子段和最大为11-4+13=20.
一、问题分析如果采用暴力解决,即考虑子段的情况总数为1+2+...+n=O(n^2)。考虑动态规划算法,可以实现O(n)算法复杂度。二、程序设计三、程序结果如果序列全是负数的话,其实就是在选择最大值
分类:
编程语言 时间:
2015-05-02 21:55:46
收藏:
0 评论:
0 赞:
3 阅读:
4353
spring依赖注入的方式有4种构造方法注入属性注入工厂注入注解注入下面通过一个实例统一讲解:User.javapackage com.bjsxt.model;public class User { private String username; private String pass...
分类:
编程语言 时间:
2015-05-02 21:55:26
收藏:
0 评论:
0 赞:
0 阅读:
231
rand()(产生随机数) 相关函数 srand() 表头文件 #include 定义函数 int rand()(void) 函数说明 rand()会返回一随机数值,范围在0至RAND_MAX 间。在调用此函数产生随机数前,必须先利用srand()设好随机数种子,如果未设随机数种子,rand()在....
分类:
编程语言 时间:
2015-05-02 21:55:16
收藏:
0 评论:
0 赞:
0 阅读:
320
MyBatis CRUD Java POJO操作
分类:
编程语言 时间:
2015-05-02 21:52:36
收藏:
0 评论:
0 赞:
0 阅读:
225
在看源码的时候看到__call__不是很明白原理,所以在这里记录下 通常来说__call__的调用时实例后面的"()"引起的他自身的调用,但是如果只是将一个类复制给一个变量,调用的时候就有可能出现错误 比如: class?Tes...
分类:
编程语言 时间:
2015-05-02 20:49:36
收藏:
0 评论:
0 赞:
0 阅读:
273
spring中 context:property-placeholder 导入多个独立的 .properties配置文件? Spring容器采用反射扫描的发现机制,在探测到Spring容器中有一个 org.springframework.beans.factory.config.PropertyPlaceholder...
分类:
编程语言 时间:
2015-05-02 20:48:57
收藏:
0 评论:
0 赞:
0 阅读:
285