自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(134)
  • 资源 (1)
  • 收藏
  • 关注

转载 开发者必备的6款源码搜索引擎

摘要:虽然自己编码很重要,但是在遇到一个功能时,利用现成的代码不失为一种好方法,或许还会达到事半功倍的效果。但千万不要单纯地“用”,更多地是理解与提升,这样才会进步。在推动技术变革上,开源运动发挥了非常显著的作用。而Linux成功地将开源转换成商务模式,给广大开源工作者带来了更大的信心和勇气。目前,开源已成为主流,在未来的几年内,它的足迹将会遍布前沿教育、航空航天(如无人驾驶飞机)等许

2013-08-08 21:38:26 1912

原创 hadoop streaming 命令

1 Streaming命令使用下面的命令运行Streaming MapReduce程序:$HADOOP_HOME/bin/hadoop streaming  args其中args是streaming参数,下面是参数列表:-input    输入数据路径-output   

2013-08-05 17:17:01 1978

原创 版本管理工具SVN错误汇总

1. local delete, incoming edit upon updatesvn上文件被删除,本地有更新svn local delete, incoming delete upon update 解决办法# 1.In your working directory, recreate that conflicting file:$ touch foo# 2.Reve

2013-05-10 15:11:26 2350

转载 解压缩文件

.tar 解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————————.gz解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName.tar.gz 和 .tgz解压:tar

2013-05-02 14:44:59 1810

原创 hadoop入门级代码

hadoop入门级代码一、hadoop中的hello,world/*************************************************************************** * * Copyright (c) 2013 Baidu.com, Inc. All Rights Reserved * $Id$ * *********

2013-04-27 21:50:42 1755

原创 Hadoop深入研究系列之序

工作中一直在用hadoop、hive,但是对其了解非常浅薄,接下来的文章着重于hadoop源码及工作中碰到的相关问题相结合

2013-04-14 22:21:19 1532

原创 Linux 有用的脚本

1. 遍历字符串name="zhangliang" len=`expr length $nam

2013-03-06 21:05:31 1588

原创 linux有用命令

1. 统计代码行数find . -name "*.cpp" |xargs cat|grep -v ^$|wc -l

2013-03-06 17:17:48 1522

原创 基于链表的快速排序

写了大半天,终于折腾出了这个难看的链表快速排序:#include #include #include using namespace std;int array[] = {1, 2, 3, 3, 3, 3, 4, 5, 6, 7, 6, 5, 4, 3, 2, 1, 0};const int size = sizeof array / sizeof *array;struct

2012-11-25 15:14:53 1680

原创 等值首尾和

假设有一个数组x[],它有n个元素,每一个都大于0,称x[0] + x[1] + ... + x[i]是个前置和,而x[j] + x[j + 1] + ... + x[n - 1]则是后置和,请写一个程序,求出x[]中有多少组相同的前置和和后置和题目虽然很简单,可是还是。。。#include #include #include #include using namespace

2012-11-10 18:37:45 1875 1

原创 最低公共父节点拓展

有如下树,求最低公共父节点#include #include using namespace std;struct Node{ Node(int c = 0) : data(c) {} int data; vector nvec;};Node* construct(Node *&left, Node *&right){ Node *node10 =

2012-11-04 15:27:45 1600

原创 微软亚洲研究院的一道面试题

2012-10-08 22:58:50 1793

原创 面试100题之我的解答

利用static变量,两个变量必须都为static,因为它们的状态需要记住#include #include #include #include using namespace std;struct Node{ Node(int i = 0, Node *pLeft = NULL, Node *pRight = NULL) : data(i), left(pLeft),

2012-10-06 22:11:24 1617

原创 名题百则source code:第七章---其他问题

无耻的copy,然后号称原创~~~我稀饭问题7.2 假设有一个数组,它有n个元素,每一个都不外乎是红、白、蓝3种颜色之一的代号,就用R、W、B代表。这些元素在数组中并没有依同样颜色排在一起的方式来排列,倾斜一个程序把这个元素排成所有蓝色在前,接着是白色,最后是红色的排列方式,不过在写程序时要满足下面的条件:1. 不能用额外的内存,换句话说,只能在数组之内用互换的方式来完成。2. 互换两

2012-10-05 22:07:08 1895

转载 面试五十题

copy的july的题目该文章链接:http://blog.csdn.net/v_july_v/article/details/79744181. 谈谈你对面向对象编程的认识面向对象的几大特征:封装、继承、多态,扯扯这些玩意2. 8月20日,金山面试,题目如下: 数据库1中存放着a类数据,数据库2中存放着以天为单位划分的表30张(比如table_20110909,table_2

2012-10-05 18:15:06 7508

转载 图的遍历 之 广度优先搜索

1、  队列(1)       定义    队列也是一种运算受限的线性表。在这种线性表上,插入限定在表的某一端进行,删除限定在表的另一端进行。允许插入的一端称为队尾,允许删除的一端称为队头。    特点:队列中数据元素的入队和出队过程是按照“先进先出” 的原则进行的。因此,队列又称为“先进先出”的线性表,简称FIFO表。(2)       实现-链队列队列的

2012-10-03 18:18:09 1515

转载 TRIE树 --- 字典树

文章出自:http://www.cnblogs.com/dolphin0520/archive/2011/10/11/2207886.html   Trie树       Trie树也称字典树,因为其效率很高,所以在在字符串查找、前缀匹配等中应用很广泛,其高效率是以空间为代价的。一.Trie树的原理    利用串构建一个字典树,这个字典树保存了串的公共前缀信息,因此

2012-10-03 16:43:29 1707

转载 图的遍历 之 深度优先搜索

和树的遍历相似,若从图中某顶点出发访遍图中每个顶点,且每个顶点仅访问一次,此过程称为图的遍历(Traversing Graph)。图的遍历算法是求解图的连通性问题、拓扑排序和求关键路径等算法的基础。图的遍历顺序有两种:深度优先搜索(DFS)和广度优先搜索(BFS)。对每种搜索顺序,访问各顶点的顺序也不是唯一的。1、邻接表及逆邻接表的存储方法(1)定义邻接表是图的一种链式存储

2012-10-03 10:47:26 4834 4

原创 算法收集

1. x^3的计算无意搜到的关于计算x^3的算法,碉堡了:#include int main(void) { int x = 4, c = 0, d = 1, e = 6; while(x--){ c += d, d += e, e += 6; } printf("%d\n", c); return 0; }2.

2012-10-02 21:42:23 1497

原创 第六章---字符串

无耻的copy source code。。。懒啊。。。问题6.1 括号匹配问题在某个字符串中包含有左括号、右括号与其他符号:规定(与常见的算术式子一样)任何一个左括号从内到外地与它右边、距离最近的右括号相匹配。请写一个程序,找出无法匹配的左括号与右括号,并且在输入列下方把它们标出来。#include #include #include #include using nam

2012-09-29 21:23:49 2142

原创 第五章---排序

问题5.1 二分插入法插入式排序法是一个极为简单的方法,但它的效率十分低,因为比较次数与n^2成正比,此处n是数据个数,而且还有大量移动数据的动作,请写一个程序,在这两点上改进,使得比较次数与nlogn成正比,而且移动数据的速度加快~思路:为啥用二分查找不解释,memmov原型如下:void* memmov(void *dest, const void *src, size_t count

2012-09-26 09:17:06 804

原创 大整数问题

1. 大整数相加#include #include #include #include #include #include using namespace std;char* add(const char *lhs, const char *rhs){ if (lhs == NULL || rhs == NULL) return NULL; int lhsLe

2012-09-25 23:36:07 513

原创 第四章---查找

问题4.1 寻找脚码已知一个整数数组x[],其中的元素彼此都不同,而且也已经从小到大排列好。请用比较大小、相等的方式写一个程序,找出给定的数组中是否有一个元素满足x[i] = i的关系。举例而言,如果x[]有2, 1, 3, 7, 8, x[3] = 3, 因此3就是答案。#include using namespace std;int findTheIndex(int *ar

2012-09-24 22:29:51 662

原创 集合的所有分割方式

一个集合S的分割就是把S分解成若干个子集S1, S2, ..., Sp,使得S1 U S2 U ... U Sp = S,但对任意两个不同的子集Si与Sj而言,两集合的交集为空。换句话说,集合的分割,就是把该集合分解成若干相互分离的子集。举例来说,{1, 2, 3}的分割就有{1}, {2}, {3}; {1, 2}, {3}; {1, 3}, {2}; {2, 3}, {1}; {1, 2, 3

2012-09-23 12:19:31 2666

原创 全排列

关于全排列的求解,前文有讲到可以利用回溯法来求解~下面介绍一种旋转法:#include using namespace std;#define MAXSIZE 20#define ROTATE(p) { int i, temp; \ temp = perm[p]; \ for (i = p - 1; i >= 0; i--) \ perm[i +

2012-09-22 18:24:47 1073

原创 所有子集

关于所有子集的求法,前面有介绍到利用回溯法,可以求出所有子集的字典序如果不要求字典序,可以选择其他思路来解答:如果所有字符的个数为N,可以定义一个unsigned int型的数字,初始化为0,循环+1,直到第N+1位为1,基于这个思想,不难写出代码:#include using namespace std;char source[] = "123";const int s

2012-09-20 18:13:56 651

转载 SVN常用命令

SVN(Subversion)是一个自由、开源的项目源代码版本控制工具。目前,绝大多数开源软件和企业代码管理,都使用SVN作为代码版本管理软件。Subversion将文件存放在中心版本库里,这个版本库很像一个普通的文件服务器。不同的是,它可以记录每一次文件和目录的修改情况,这样就可以在需要的回滚时,将数据恢复到以前的版本,并可以查看数据的更改细节。SVN 官方网址:Apache

2012-09-20 10:57:22 1057

原创 快速阶乘运算

在前一篇blog中提到了logn复杂度求出C(n,r),利用此结果在(logn)^2复杂度下计算n!oh, fuck!!! 校园招聘微软的三面面试官出了这道bug题。。。分析:利用下面的公式可以降低复杂度由于C(n, n/2)需要logn复杂度计算出来,加上n!所需的logn,所以总体复杂度为(logn)^2,代码如下:#include #include #includ

2012-09-19 22:30:07 24661 9

原创 二项式系数加法解

请写一个程序,求出n中取r个的组合系数C(n,r)首先,根据C(n,r)的定义求解,不难得出解法如下:unsigned long cnr(int n, int r){ if (n < 0 || r < 0) return 0; unsigned long numerator = 1; unsigned long denominator = 1; for (int i =

2012-09-19 20:12:22 5050

原创 扩充Fibonacci数

关于如何求解Fibonacci数本blog前后有几篇文章都提及到了 ,一般是3种~下面的扩充Fibonacci数定义如下:定义一组叫做扩充的Fibonacci数如下------已知X与Y两个数,于是扩充Fibonacci数Fi为1 i=0Fi =  1 i=1X*Fi-2 + Y*Fi-1 i > 1因此,当x=y=1时,这一组扩充的Fibonacci数就变成了一般的F

2012-09-19 20:06:28 665

原创 质因子分解

题目:请写一个程序,读入一个正整数,把它的所有质因子找出来。例如,输入是72,27 = 2^3 * 3^2,于是质因子就有2与3;如果输入是181944,那么因为181944 = 2^3 * 3^2 * 7 * 19^2,所以质因子为2、3、7、19。为了方便起见,2^3 * 3^2 * 7 * 19^2可以用2(3)3(2)7(1)19(2)作输出,也就是说,如果分解开来有a^b,在输出中就有a

2012-09-18 09:22:06 1956

原创 背包问题

1. 找零钱问题某个国家一共发行了a1, a2, ..., ak种不同面额的钞票,为了方便起见,假设a1 这道题用递归的方法来求解不能难:#include using namespace std;#define MAXSIZE 100#define min(a, b) ((a) <= (b) ? (a) : (b))int base[] = {1, 3, 4};in

2012-09-17 21:43:03 644

原创 等量正负号段落

已知一个数组,其中有正数、0、负数,请写一个函数,找出这个数组中最长的,而且正数和负数个数相同的部分数组的长度。#include using namespace std;int array[] = {1, 2, -6, 0, 3, -2, 4, 0, -1, 3, -2, -4};const int size = sizeof array / sizeof *array;#d

2012-09-15 20:49:17 702

原创 求前N个质数

入门级的标准解法如下:#include #include using namespace std;vector ivec;bool isPrime(int number){ bool result = true; for (int i = 2; i < number; i++) { if (number % i == 0) { result = fal

2012-09-13 21:32:13 2228

原创 CSDN题目:凑硬币问题

这是一个背包问题,但是我要的不是这些,第一个给出背包代码的,20分。其他的不给分。给出我要的结果的,又分。我要什么结果呢?先看题目。你有(足够的)5分,2分,1分的硬币,现在要凑出来12分的结果,那么最少的硬币组合是?结果肯定是 【5 5 2】那么给你的硬币是 5分的,4分的(虽然我没有见过),1分的,凑8分,怎么凑?贪婪算法可能给出 【5 1 1 1】

2012-09-13 18:30:05 630

原创 Armstrong数字

题目:在3位的正整数中,比如abc,有一些可以满足a3 + b3 + c3 = abc的条件,也就是说,各个位数的立方和正好是该数的本身,这些数就叫做Armstrong数。试写一个程序求出所有的3位Armstrong数#include using namespace std;void printArmstrong(){ int leftValue; int midValue;

2012-09-12 14:18:05 1171

原创 编程之美习题解答

习题1.2 中国象棋将帅问题#include using namespace std;void print(){ for (int i = 1; i <= 9; i++) { for (int j = 1; j <= 9; j++) { if (i % 3 != j % 3) { cout << "position: " << i << " " <

2012-09-11 21:03:36 3759

转载 如何在面试时写出高质量的代码

摘要:有些程序员由于平时没有养成良好的编程习惯,在面试时写出的代码质量不高,最终遗憾地与心仪的公司和职位失之交臂。如何在面试时能写出高质量的代码,是很多程序员关心的问题。程序员在职业生涯中难免要接受编程面试。有些程序员由于平时没有养成良好的编程习惯,在面试时写出的代码质量不高,最终遗憾地与心仪的公司和职位失之交臂。因此,如何在面试时能写出高质量的代码,是很多程序员关心的问题。作者总结自

2012-09-07 20:45:20 560

转载 如何从技术岗位走向管理岗位:机会是留给有准备的人

文/黄峥嵘机会总是留给有准备的人。在被从技术岗位提拔到管理岗位之前,技术人员就要具备管理岗位所需要的基本素质和能力,将功课做在前面,提拔只是最后一步。然而,从技术岗位走向管理岗位需要具备哪些素质呢?我结合自己十年的工作经验谈谈自己的看法。做好本职工作是第一步。技术人员能管理好自己,出色完成本职工作是第一步。在领导交给你任务时,要主动制定工作计划,定期向领导汇报工作进展,出了问题

2012-09-04 14:24:14 648

转载 为什么很多程序员都选择跳槽

转自:http://blog.csdn.net/long892230今天看到一个帖子:“程序员内部晋升越来越困难,但是外部来的大P越来越多,所以很多人都选择跳槽”,之后我从三个方面简要的进行了回答:“外面来的总是有包装的,内部的都是肉身PK,此一输;外面来的总是小股人马,内部的一批批的,升谁都伤感情,此二输;外面来的通常都是大佬推荐的,没有特别重大机会,人不会来,内部的就不解释了,成果都被

2012-09-04 14:22:18 420

空空如也

空空如也

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

TA关注的人

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