自定义博客皮肤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

磨砺手中的利器

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

转载 Find the largest square fits a rectangle

Given a rectangle with known width and height, design an algorithms to fill the rectangle using n squares(n is integer, also given) and make sure in the result the wasting area is minimized. Lengt

2012-11-30 22:06:09 584

转载 相同bit1的最大的数

给定整数n,求出和n 的bit 1的数量相同的,并且大于n的最小值,或者小于n的最大值这个题目的思路和给定2134,求相同数字的大于2134的最小值思路一样,都是从后往前找,找到第一次遇到的数字下降,然后再从后往前,找到第一个大于这个数字的数,然后交换,然后从下降位置之后的所有数字从小到大排序求小于2134的最大值,从后往前找,第一次遇到数字上升的位置i, 再从后往

2012-11-30 18:47:23 870

转载 检测单链表是否是回文

如何在不显式申请额外空间的情况下完成?设置两个指针,一个指针到链表末尾时开始回溯,另一个指针开始和这个指针比较struct NODE{ int nVal; NODE* pNext; NODE(int n) : nVal(n), pNext(NULL) {}};bool _inner_check(NOD

2012-11-30 12:20:22 2559

转载 打印数字回文

产生N个数字回文1,2,..,9,11,22,..,99,101,....The order of the palindrome is only related to the "left half" to the numberE.g:for two digit palindrome, the "left half" are 1,2,3,4,..,9 which ma

2012-11-30 10:14:31 768

转载 打印给定数目括号的组合

void paranthesis(int left, int right, vector &vt) { if (left == 0 && right == 0) { for (int i = 0 ;i < vt.size() ; ++i) cout << vt[i]; cout<<endl; return;

2012-11-30 09:47:43 758

转载 数据库游标

静态游标使用静态游标,可以在记录集中向前或向后移动。但是,静态游标不会对其他用户造成的记录变化有所反映。消耗资源较少。动态游标使用动态游标,可以在记录集中向前或向后移动。其他用户造成的记录的任何变化都将在记录集中有所反映。消耗资源较多只进游标使用前向游标,只能在记录集中向前移动。由键集驱动的游标可以在记录集中向前或向后移动

2012-11-29 22:55:57 581

转载 找到比给定数大的数

Round 5: Q2:Design an algorithm to find the immediate greater number to a given number, such that the result has the same digits as the given input number.Example:Input Output1234 12431243

2012-11-29 16:21:58 749

转载 找单独出现的bit 数组

Given a binary matrix of N X N of integers , you need to return only unique rows of binary arrayseg:0 1 0 0 11 0 1 1 00 1 0 0 11 1 1 0 01 1 1 0 1ans:0 1 0 0 11 0 1 1 01 1 1 0 0

2012-11-29 15:39:51 648

原创 判别式和产生式的区别

这个题目遇到两次自然语言处理中,经常要处理序列标注问题(分词、词性标注、组快分析等),为给定的观察序列标注标记序列。令o和s分别代表观察序列和标记序列, 根据贝叶斯公式,1 生成模型和判别模型的定义对o和s进行统计建模,通常有两种方式:(1)生成模型构建o和s的联合分布p(s,o) = p(s) *p(o|s)(2

2012-11-29 13:37:30 7377

转载 Logistic regression (逻辑回归) 概述

http://hi.baidu.com/grandyang/item/e1df4ecf195eb816b77a240eLogistic regression (逻辑回归)是当前业界比较常用的机器学习方法,用于估计某种事物的可能性。比如某用户购买某商品的可能性,某病人患有某种疾病的可能性,以及某广告被用户点击的可能性等。(注意这里是:“可能性”,而非数学上的“概率”,logisitc回归

2012-11-29 13:29:28 1002

转载 找出缺少的数

There is an array of size 50 that is expected to contain all the numbers from 1 to 50(every number occuring only once). But there is one number in the array that does notsatisfy this condition i.e

2012-11-28 23:48:21 629

转载 二叉树叶子节点迭代器

开始的想法是先将叶子节点放入到一个vector中,然后依次next下面的解法类似,但是只有在Next操作时才寻找下一个叶子节点template class Iterator{ public: Iterator(T *root) { if(root == NULL) return;

2012-11-28 17:10:15 940

转载 查看是否由两个单词组成

给定一个词典,新添一个词条,查看这个词条是否由词典中的两个词组成?首先想到的就是用hash的方法,将这个词拆分为两半,查看前面和后面的词是否在词典中。时间复杂度是o(n)还有一种方法,就是用trie。正向词建trie,逆向词建trie,然后在正向trie树中查找词条,记录在过程中可以成词的位置。在逆向trie中从后向前查找词条,一旦遇到可以成词的位置,并且这个位置和之前记录

2012-11-28 12:44:07 865

转载 找每个窗口中的最大值

A long array A[] is given to you. There is a sliding window of size w which is moving from the very left of the array to the very right. You can only see the w numbers in the window. Each time the

2012-11-28 11:22:32 647

转载 找数组波谷

Suppose we are given an array A[1 .. n] with the special property that A[1] ≥ A[2] andA[n − 1] ≤ A[n]. We say that an element A[x] is a local minimum if it is less than or equalto both its neighbo

2012-11-28 10:02:00 1179

转载 对文件分组

将一堆文件中,相同内容的文件分为一组通过字符串匹配速度太慢,首先应该想到的是将文件内容编码,譬如取其md5,或者其hash值,然后用map, 将md5相同的文件放在相同的key下还有一个小优化的地方,就是先通过文件的size大体的分类

2012-11-28 08:44:03 954

转载 实现内存检测工具

思路就是覆盖原有的malloc和free函数,并记录内存申请和释放情况struct MEM_INFO { int m_addr; int m_size; char m_strFile[1024]; int m_nLine;};hash_map hstbl;void* xmalloc(unsigned int s

2012-11-27 23:26:30 493

原创 汉诺塔

class term{public: term(int f, int tmp, int t, int n, int flag) :from(f),tmp(tmp) , to(t), n(n),flag(flag){} int from; int to; int tmp; int n;//表示从1...n的汉诺塔 int flag;//表示要输出的

2012-11-27 23:10:34 566

转载 Find first subarray sum to zero

given an array with positive and negative numbers find the first continuous subarray that sums to 0bool FindFirstPair(int& nStart, int& nEnd, int a[], int n){ nStart = nEnd = n;

2012-11-27 20:54:42 875

转载 Given an array A[i..j] find out maximum j-i such that A[i]<a[j]

//Given an array A[i..j] find out maximum j-i such that A[i]<a[j] in//O(n) timestruct REC{ int nIndex; int nVal;};bool lessThan(const REC& rec1, const REC& rec2){ return rec1.nVal < rec2.nV

2012-11-27 20:06:48 886

转载 一致性hash算法

http://blog.csdn.net/v_july_v/article/details/6879101问题描述: 例如手机朋友网有n个服务器,为了方便用户的访问会在服务器上缓存数据,因此用户每次访问的时候最好能保持同一台服务器。已有的做法是根据ServerIPIndex[QQNUM%n]得到请求的服务器,这种方法很方便将用户分到不同的服务器上去。但是如果一台服务器死掉了

2012-11-27 14:57:06 1681

转载 微博的架构

http://blog.csdn.net/cleanfield/article/details/6339428用户信息表(t_user_info)字段名称字节数类型描述User_id4uint32用户编号(主键)User_name20C

2012-11-27 14:13:37 2017

转载 数据库的拆分

http://blog.csdn.net/bluishglc/article/details/6161475本文着重介绍sharding的基本思想和理论上的切分策略,关于更加细致的实施策略和参考事例请参考我的另一篇博文:数据库分库分表(sharding)系列(一) 拆分实施策略和示例演示 一、基本思想      Sharding的基本思想就要把一个数据库切分

2012-11-27 12:54:13 7613

原创 tcp

1. 建立连接 为什么不采用2次握手? 为了防止两次握手情况下已经失效的连接请求报文段突然又传到服务端,从而产生错误。 客户A向服务B发送请求连接,但是由于长时间滞留,A认为丢失,又重新发送请求连接,B收到后,建立连接,数据传输结束之后,断开连接。此时,之前滞留的请求报文daunting到达B,B认为A又发送连接请求,此时如果是三次握手,B向A发送确认报文段,由于这是已经失效的请求,A

2012-11-27 11:13:04 657

原创 概率题

某人外出两天旅游,根据天气预报得知:第一天下雨的概率0.6,第二天下雨的概率0.3,两天都下雨的概率0.1求下列事件的概率:1. 第一天下雨,第二天不下雨2. 第一天不下雨,第二天下雨3. 至少有一天下雨4. 两天都不下雨5. 至少有一天不下雨设A 第一天下雨,B第二天下雨1. p(A~B) = p(A - AB) = p

2012-11-27 10:18:52 1431

转载 设计模式分类

http://blog.csdn.net/nickcen/article/details/1948871. 创建型设计模式2. 结构型设计模式3. 行为型设计模式1.   Factory模式a)        结构:注: 1)Product A和Product B具有相同的父类,但是具有不同的实现。     2)Creator可根据不同的输入

2012-11-27 09:54:29 3093 2

转载 查找数据结构相关题目

http://jpkc.lit.edu.cn/sjjg/zxxx/gzxt/gzxt9-3.html选择题1. 若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL为( )。   A. (n-1)/2   B. n/2   C. (n+1)/2   D. n2. 对N个元素的表做顺序查找时,若查找每个元素的概率相同,则平

2012-11-27 09:46:44 4226

原创 m叉树的叶子节点数量

一个m叉树,度数为1的节点数为N1,度数为2的节点数为N2,度数为m的节点数为Nm, 求叶子节点的数量节点总数为 N1 + 2*N2 + 3*N3 + ... +m*Nm +1则叶子节点数量为 N1 + 2*N2 + 3*N3 + ... +m*Nm +1 - (N1 + N2 +... +Nm)= 1 + sigm(i-1)Ni

2012-11-27 09:39:52 6203 1

转载 服务器端利器--双缓冲队列

http://rrsongzi-gmail-com.iteye.com/blog/696627传统队列是生产者线程和消费者线程从同一个队列中存取数据,必然需要互斥访 问,在互相同步等待中浪费了宝贵的时间,使队列吞吐量受影响。双缓冲队使用两个队列,将读写分离,一个队列专门用来读,另一个专门用来写,当读队列空或写 队列满时将两个队列互换。这里为了保证队列的读写顺序,当读队列为空且写队列不为

2012-11-27 09:22:15 2143

转载 旋转矩阵

将一个n*n的方阵旋转90°用inplace的方法,先通过对角线交换元素,再通过矩阵的水平中间线交换数据如果将一个n*m的矩阵旋转90°一个比较类似的方法是,先将这个矩阵扩展为一个方阵,然后再用上述方法还有一个方法:】先转换最外层,然后一层层内移到中心void Rotate(int** pArr, int n, int nStep,

2012-11-23 15:51:44 786

原创 数据库游标

游标 是系统为用户开设的一个数据缓冲区,存放sql语句的执行结果,每个游标区都有一个名字。用户可以通过游标逐一获取记录,对每一条记录可以有不同的操作

2012-11-23 13:49:50 504

转载 sql语句练习

http://www.cnblogs.com/finejob/articles/974900.html题目1:======  为管理岗位业务培训信息,建立3个表:  S (S#,SN,SD,SA)    S#,SN,SD,SA 分别代表学号、学员姓名、所属单位、学员年龄  C (C#,CN )    C#,CN 分别代表课程编号、课程名称  SC ( S#,C#,G

2012-11-23 13:14:06 958

转载 Convert it to a sorted array with minimum cost

http://shashank7s.blogspot.com/2011/05/wap-to-find-minimum-value-in-window-of.htmlYou are given an array of positive integers. Convert it to a sorted array with minimum cost. Only valid operat

2012-11-21 22:37:33 698

转载 字节按位逆序

32位的number,把它按位逆序 : 1101001 ==> 1001011最直接的想法就是循环32次还有可以优化的地方// 交换每两位v = ((v >> 1) & 0x55555555) | ((v & 0x55555555) << 1);// 交换每四位中的前两位和后两位v = ((v >> 2) & 0x33333333) | ((v & 0x333

2012-11-21 15:46:49 3479

转载 原地排列字符串

将字符串abcde12345 inplace的转换为  a1b2c3d4e5我的想法是整块整块的向后平移首先bcde平移,将1放入正确位置将cde平移,将2放入正确位置....网上的做法比较高效先算出当前字符的正确位置,然后将当前字符放到正确位置上,然后再计算被替换位置的正确位置int ClacTarget(int nLen, int nInde

2012-11-21 14:08:23 742

转载 linux 多线程 多进程同步

多线程 同步的方法1. 临界区2. 互斥量(注意mutex只能用于线程的互斥,不能用于进程)3. 信号量4. 事件多进程 同步方法管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信;信号(Signal):信号是比较复杂的通信方

2012-11-21 13:03:16 1059

转载 c++实现读写共享锁

http://blog.csdn.net/raomeng1/article/details/7685421一、使用互斥锁和条件变量实现读写锁:class readwrite_lock{public: readwrite_lock() : stat(0) { } void readLock() { mtx.lock(); while (stat < 0)

2012-11-21 11:23:43 9723

转载 实现计算器功能

http://www.1point3acres.com/bbs/thread-12175-1-1.html如何写出一个简单的4则运算的程序。输入 " 1 -2*3 + 6/3" 输出 -3只用支持正数int的,+,-,*,/,不用写出()的情况要注意的问题是,空格。。。。

2012-11-19 11:25:36 641

转载 Reverse Polish Notation

http://www.1point3acres.com/bbs/thread-31595-1-1.html定义一种叫做“Reverse Polish Notation”的表达式:3 + (4 * 5)可以写成3 4 5 * +即运算符号写在数字的后面。现在规定,x代表数字,*代表运算符。给定一个包含有x和*的string,问最少需要多少次操作(操作包括,

2012-11-19 09:25:00 507

转载 best meeting point

There is an infinite integer grid at which N people have their houses on. They decide to unite at a common meeting place, which is someone's house. From any given cell, all 8 adjacent cells are reac

2012-11-18 22:52:23 703

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关注的人

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