自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

chivalry

磨砺手中的利器

  • 博客(52)
  • 资源 (5)
  • 收藏
  • 关注

原创 word rectangle

Given a dictionary of millions of words, give an algorithm to find the largest possible rectangle of letters such that every row forms a word (reading left to right) and every column forms a word (rea

2012-08-30 22:30:27 1113

原创 effective c++ 27

#include using namespace std;class Window{public: Window(){ cout<<"construct window "<<endl; } Window(const Window & win){ cout<<"copy construct window "<<endl; } virtual void on() {

2012-08-30 21:02:10 1247

原创 后台开发需要的技能

1. 2年以上Linux平台网络服务开发经验,熟悉TCP/IP协议及不同的网络服务模型 2. 熟悉Linux C/C++开发环境,熟悉多线程和多进程程序开发 3. 熟悉常用的分布式模型,能对大型开源项目做代码分析和系统优化 4. 能够自我驱动,乐于接受挑战,热爱探索和钻研 5. 沟通、理解能力强,有良好的团队合作精神 6. 有Erlang、Python语言开

2012-08-29 08:25:59 4707

转载 高性能key-value数据库

http://www.oschina.net/p/redisRedis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。性能测试结果:SET操作每秒钟 110000 次,G

2012-08-29 08:06:01 1115

转载 python版本的服务器

http://sebug.net/paper/books/tornado/#overviewFriendFeed使用了一款使用 Python 编写的,相对简单的 非阻塞式 Web 服务器。其应用程序使用的 Web 框架看起来有些像 web.py 或者 Google 的 webapp, 不过为了能有效利用非阻塞式服务器环境,这个 Web 框架还包含了一些相关的有用工具 和优化。

2012-08-29 08:04:53 652

转载 如何在Eclipse中查看Android源码或者第三方组件包源码

http://blog.csdn.net/cjjky/article/details/6535426在学习过程中如果经常阅读源码,理解程度会比较深,学习效率也会比较高,那么如何方便快捷的阅读Android源码?如何查看Android源码[以Android2.2为例]      我们知道在Eclipse里按住Ctrl键不松手在某个类上点击鼠标左键,可以跳转到该类的文件。如

2012-08-28 17:53:23 921

转载 使用模板有什么缺点?如何避免?

http://www.cnblogs.com/royenhome/archive/2010/11/19/1881535.html文章来源:http://group.gimoo.net/review/82612    templates(模板)是节省时间和避免代码重复的极好方法,我们可以只输入一个类模板,就能让编译器实例化所需要的很多个特定类及函数。类模板的成员函数只有被使用时才

2012-08-28 09:21:28 2432 1

转载 TWITTER背后的开源技术

如果没有开源软件,Twitter将不会存在。你发送和接收的每一个Tweet在移动端和PC端发送的过程中,都会需要开源软件。我们非常好奇Twitter使用了多少开源软件。除此之外,我们想要知道开源对Twitter公司的文化产生了什么影响。我们采访了Twitter公司主管开源的Manager Chris Aniszczyk,来和我们大家分享Twitter的开源故事。Aniszc

2012-08-27 09:53:19 727

转载 宝洁八问

1. Describe an instance where you set your sights on a high/demanding goal and saw it through completion. 举例说明,你如何制定了一个很高的目标,并且最终实现了它。 2. Summarize a situation where you took the initiative to

2012-08-27 09:52:32 2034

原创 连续子串

由 26 个小写字母组成的 str,在 str中查找最长连续字符串不相同的子串。如abcae, 连续子串是bcaetable记录的是字符最近出现的位置;int maxDiff(char * str){ int table[26] = {-1}; memset(table,-1,sizeof(table)); int loop = 0;

2012-08-26 16:36:14 1089

原创 lucky number

4,7是lucky number ,当一个数出现1个以上非lucky number就是我们所不需要的,问a,b间有多少个,由于数据范围只有1-1000000int findLuckyNumber(int up,int curr,bool flag) {//flag 表面是不是已经用了一个非4,7的数字 if (curr > up) return 0; i

2012-08-26 12:24:39 1001

原创 求点被多少个矩形覆盖

有很多矩形,矩形可能会重叠,又有很多点分散在平面上,求每一个点被多少个矩形覆盖?方法1:参考:http://dongxicheng.org/structure/segment-tree/总体思想是,如果线段树种的一个节点,就是这整个区间都在要插入的边内,则这个节点的计数加1给一个n*n的方格棋盘,初始时每个格子都是白色。现在要刷M次黑色或白色的油漆。每次刷漆的区域都是一个平

2012-08-26 10:10:24 2972

转载 线段的覆盖长度

http://www.cnblogs.com/shuaiwhu/archive/2012/04/22/2464583.html线段树在一些acm题目中经常见到,这种数据结构主要应用在计算几何和地理信息系统中。下图就为一个线段树:(PS:可能你见过线段树的不同表示方式,但是都大同小异,根据自己的需要来建就行。)1.线段树基本性质和操作线段树是一棵二叉树,记为T(a, b),参

2012-08-26 02:42:46 2606

转载 点覆盖的次数

http://www.cnblogs.com/noip/archive/2012/02/26/2368753.html在自然数,且所有的数不大于30000的范围内讨论一个问题:现在已知n条线段,把端点依次输入告诉你,然后有m个询问,每个询问输入一个点,要求这个点在多少条线段上出现过;最基本的解法当然就是读一个点,就把所有线段比一下,看看在不在线段中;每次询问都要把n条线

2012-08-25 23:46:43 862

原创 hdu1166 线段树

线段树就是区间的查找,如果区间不是当前线段树节点的区间,需要划分为左、右,再递归查找#include #include #include using namespace std;const int maxn = 55555;int a[maxn];int tree[maxn << 2];//节点数是区间的4倍void pushUp(int curr) { tre

2012-08-25 23:31:34 962

原创 Web-Scale Data

Web-Scale Data 带来的挑战是要设计 “更快,更大” 的存储和计算架构,Google 在技术上不停挑战极限,开发了 4 种技术:Hadoop、Caffeine、Pregel、Dremel1. mapreduce:海量存储和大规模运算2. Caffeine实时索引,提高搜索结果的实效性3. Pregel:处理海量图结构数据4. Dremel:类似sql,快速查询海

2012-08-25 20:19:17 1343

转载 GraphChi

GraphChi - disk-based large-scale graph computation可以在普通单机上运行大数据https://code.google.com/p/graphchi/

2012-08-25 20:15:53 1945

转载 malloc和free实现的原理

还是要认真看深入理解计算机系统http://blog.csdn.net/llhyy17/article/details/5375298内存分配是按照堆块实现的,一个堆块是由头部和有效载荷量组成,其中的有效载荷量就是我们申请的堆的大小。头部块包括 块大小和是否可用 这两个部分组成。在内存中这些堆块以链表形势组成malloc函数的实质体现在,它有一个将可用的内存

2012-08-21 08:24:30 14442 4

转载 Linux进程间通信分类 以及 pipe的原理实现

http://blog.sina.com.cn/s/blog_4a84bd960100by8s.htmlhttp://home.lupaworld.com/home-space-uid-296848-do-blog-id-230801.html一个大型的应用系统,往往需要众多进程协作,进程(Linux进程概念见附1)间通信的重要性显而易见。本系列文章阐述了Linux环境下的几种

2012-08-21 08:03:09 19276 2

转载 c++内存分配的方式

http://hi.baidu.com/keeekee/blog/item/95564b7a34c3d0ee2e73b3ae.html1. 从静态存储区域分配。      内存在程序编译的时候就已经分配好。这块内存在程序的整个运行期间都存在。     如全局变量,static变量。2. 在栈上创建。     在执行函数时,函数内局部变量的存储单元都可以在栈上创建;

2012-08-21 07:55:24 807

转载 将表达式转换成逆波兰式

http://www.cnblogs.com/stay-foolish/archive/2012/04/25/2470590.html假设表达式由单字母变量和双目四则运算算符构成。试写一个算法,将一个通常书写形式且书写正确的表达式转换为逆波兰式。实现下列函数:char *RPExpression(char *e);/* 返回表达式e的逆波兰式 */Sta

2012-08-21 07:18:56 8892 1

转载 C语言实现封装、继承和多态

http://dongxicheng.org/cpp/ooc/struct中不可以有函数,就用函数指针表示函数。1、  概述C语言是一种面向过程的程序设计语言,而C++是在C语言基础上衍生来了的面向对象的语言,实际上,很多C++实现的底层是用C语言实现的,如在Visual C++中的Interface其实就是struct,查找Interface的定义,你可以发现有这样的宏定

2012-08-20 23:39:31 769

原创 java 基本的文件读写

BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream("D:/cplus/norm/norm/exp"), "UTF-8"));PrintWriter out = new PrintWriter(new OutputStreamWriter(new FileOutputStream(

2012-08-20 11:11:04 720

转载 短址(short URL)原理及其实现

http://blog.csdn.net/beiyeqingteng/article/details/7706010URL 解析:当我们在浏览器里输入 http://goo.gl/Jfs6q 时,DNS首先解析获得http://goo.gl/的IP地址。当DNS获得IP地址以后(比如:74.125.225.72),会向这个地址发送HTTP GET请求,查询 Jfs6q, 这个时候,ht

2012-08-19 17:27:16 3216

转载 查找两个已经排好序的数组的第k大的元素

http://www.cnblogs.com/buptLizer/archive/2012/03/31/2427579.html给出两个排好序的数组 ,不妨设为a,b都按升序排列,及k的值,求出第k大的那个元素。分析这个题目,如果题目没有时间复杂度的要求,我们可以定义两个指针i,j分别指向a,b,如果a[i]j++,这个记录下走了多少步,如果==k步,则找到了第k大的元素,复杂度为

2012-08-19 16:31:44 1774

转载 百度vs腾讯

http://blog.csdn.net/tianshuai11/article/category/941259送给那些即将找工作的人1 文化百度提倡“简单,可依赖”,我的理解是做出来的产品要靠谱,要有很好的用户体验。以搜索起家的百度,对产品质量相当看中,因为当用户认定你做得不好,没口碑后可立马更换搜索引擎。公司设有专门的质量部门,各个产品都会配备有QA人员,负责产品质

2012-08-18 21:07:11 1406

转载 最长等差数列

http://blog.csdn.net/zhanxinhang/article/details/6667868题:求随机数构成的数组中找到长度大于=3的最长的等差数列输出等差数列由小到大: 如果没有符合条件的就输出[0,0]格式:输入[1,3,0,5,-1,6]输出[-1,1,3,5]

2012-08-18 20:25:05 677

转载 寻找捣乱分子对

http://blog.csdn.net/wuzhekai1985/article/details/6718256问题描述:多人排成一个队列,我们认为从低到高是正确的序列,但是总有部分人不遵守秩序。如果说,前面的人比后面的人高(两人身高一样认为是合适的),那么我们就认为这两个人是一对“捣乱分子”,比如说,现在存在一个序列:176, 178, 180, 170, 171

2012-08-18 19:13:20 794

转载 老鼠与毒药

http://www.matrix67.com/blog/archives/4361 大家应该都听说过这个老题目:有 1000 个一模一样的瓶子,其中有 999 瓶是普通的水,有一瓶是毒药。任何喝下毒药的生物都会在一星期之后死亡。现在,你只有 10 只小白鼠和一星期的时间,如何检验出哪个瓶子里有毒药?    这个问题的答案也堪称经典:把瓶子从 0 到 999 依次编号,然后全部

2012-08-18 17:42:25 964

原创 用位操作代替求余操作

N %M如果M是2的整数次幂时,N%M = N &(M-1)

2012-08-18 17:05:13 1958

转载 概率生产器

http://blog.163.com/kevinlee_2010/blog/static/16982082020120792429856/百度的一个面试题目:.已知一随机发生器,产生0的概率是p,产生1的概率是1-p,现在要你构造一个发生器, 使得它构造0和1的概率均为1/2;构造一个发生器,使得它构造1、2、3的概率均为1/3;…, 构造一个发生器,使得它构造1、2

2012-08-18 15:38:07 1167

原创 一个文件,内含一千万行字符串,每个字符串在1K以内,要求找出所有相反的串对

一个文件,内含一千万行字符串,每个字符串在1K以内,要求找出所有相反的串对,如abc和cba。当时怎么想的忘记了,现在重新思考一下,文件的大小上限是10G,不可能在内存操作了。考虑设计一种hash使得如果两个字符串维相反串能得出相同的hash值,然后用该hash将文件中的字符串散列到不同的文件中,再在各文件中进行匹配。比如这样的hash函数对字符串上所有字符的ascii求和,因为长度在1K

2012-08-18 14:49:05 3522

转载 在数组里查找这样的数,它大于等于左侧所有数,小于等于右侧所有数

http://blog.csdn.net/beiyeqingteng/article/details/7167823这个博客不错,要关注下~问题:一个int数组, 比如 array[],里面数据无任何限制,要求求出所有这样的数array[i],其左边的数都小于等于它,右边的数都大于等于它。能否只用一个额外数组和少量其它空间实现。分析:最原始的方法是检查每

2012-08-18 14:30:53 1317

转载 查找一段文字中最长的重复字串 – 编程珠玑(排过序的后缀数组的应用)

转自:https://www.cse.msu.edu/~liyang5/?p=53《编程珠玑》在第15章“珍珠字符串”一节,给出了一个非常漂亮的实现 – 基于目标字符串的后缀数组的实现。后缀数组类似于后缀树,但是又有所不同。后缀树常用来查找某一段文字中是否出现过(多个)模式串,通过对目标文字段预处理建立后缀树实现。(如果你不明白,参考本blog有一个 字符串模式匹配

2012-08-16 22:12:07 830

转载 一些经典的计算机书籍

算法导论(第2版)代码大全(第2版)C++ Primer中文版(第4版)设计模式:可复用面向对象软件的基础浪潮之巅Java编程思想(第4版)Java核心技术 卷1:基础知识Java核心技术 卷2:高级特性人月神话Linux内核编程C程序设计语言(第2版新版)黑客与画家:硅谷创业之父Paul Graham文集编程之美:微软技术面试心得代码之

2012-08-16 13:53:18 857

原创 sort qsort的区别

qsort 更为通用,但是比较慢,比较函数相当难理解sort 快,比较函数好理解下面的实验室要a降序排列int qCmp(const void * a,const void *b) { int a1 = *(int *)a; int b1 = *(int *)b; if(a1 >b1) return -1; if(a1<b1)

2012-08-16 08:40:21 738

原创 连续邮资问题

class Stamp{ friend int MaxStamp(int, int, int[]);private: void BackTrack(int i, int r); int n, //邮票面值数 m, //每张信封最多允许贴的邮票数 maxvalue, //当前最优值 maxint, //大整数

2012-08-11 17:51:33 885

原创 isnan isinf

在linux下有两个函数isnan(x) isinf(x)对应在windows下的函数: _isnan(x)!_finite(x)为了跨平台,要么用boost要么这样写:int isnan(double x) { return x != x; }int isinf(double x) { return !isnan(x) && isnan(x

2012-08-10 20:31:35 13062

转载 程序员40岁之后怎么办

转自:http://www.cnblogs.com/aigongsi/archive/2012/03/24/2413862.html最近看到很多文章,关于程序员的寿命的问题,刚开始我也感到比较有危机感,毕竟现在已经写过代码6年了,自己也快30岁了,谈谈自己的感受吧!目前在一家公司做系统分析师,专门做系统分析和设计,偶尔也参与编码。整体来说,很少有机会写代码了。但是个人的兴趣爱好还是

2012-08-10 13:46:45 2464

转载 Zeromq

Zeromq的资源:Zeromq模式:http://blog.codingnow.com/2011/02/zeromq_message_patterns.htmlzeromq主页:http://www.zeromq.org/Zeromq Guild:http://zguide.zeromq.org/page:all#Fixing-the-World

2012-08-09 08:14:03 2396

Learning to Rank for Information Retrieval and Natural Language Processing

Learning to Rank for Information Retrieval and Natural Language Processing。很热门的研究方向

2012-05-05

算法技术手册包括书和代码

算法技术手册包括书和代码.很清晰的pdf,代码也特别全面,可以作为程序员进阶的必备书籍

2012-05-05

空空如也

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

TA关注的人

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