自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 资源 (3)
  • 收藏
  • 关注

原创 SortList 单链表排序 要求复杂度O(NlgN)

题目:Sort a linked list in O(n log n) time using constant space complexity.      leetcode上的一道题,觉得还不错,写的比较多的插入排序O(N^2),不满足题目的要求,排序的算法主要参考归并排序,首先求出单链表的长度,对单链表进行划分,递归分别处理左半边和右半边,最后进行merge,和归并的算法实一样的,就是

2014-02-28 21:41:22 1686

原创 某公司面试测试题

多层目录文件抽取到单个目录描述:将含有多层子目录的某个目录下的全部文件,抽取到某个目录下(无子目录)。举例:C:\abc为目录,Dir0、Dir1为C:\abc下的子目录C:\abc|     a.doc|     b.doc|  +---Dir0|     c.doc|     d.doc|     e.doc|  +---Dir1|     e.do

2014-02-21 11:21:28 1002

原创 setitimer 定时器

#include #include #include #include #include #include #include #include #include WINDOW *wtime,*wnumb;void showtime(int s){ time_t tt; struct tm *t; if(s == SIGALRM){ tt = time(0); t

2014-01-27 15:53:03 976

原创 gentoo下拨号上网问题的解决

1.emerge ppp2.做一个ppp0的软链接ln -sv /etc/init.d/net.lo /etc/init.d/net.ppp03.在 /etc/conf.d/net 中添加下列几行Shell代码 config_eth0="null"config_ppp0="ppp"link_ppp0="eth0"plugins_ppp0="p

2013-11-23 00:26:16 968

原创 2014小米研发笔试(南京站)

以下代码都是自己写的,有什么不对的地方欢迎拍砖

2013-10-26 22:36:01 3749

原创 C++使用TinyXML解析XML

偶尔在英雄会上看到这个问题,自己编了好久没有编出来,下面是地址:http://hero.pongo.cn/。于是就开始在网上搜,大部分都是使用外加的类库来实现,于是就先试着网上的说法,不管怎么实现的,先做出来再说。先下载TinyXML,百度一下就行,下载下来解压,里面有2个头文件和4个cpp文件,一起加到工程里面,如图所示       xmlTest.cpp是包含主函数的文件,下面

2013-08-29 15:30:10 1174

原创 最大值最小化

题目描述: 在印刷术发明之前,复制一本书是一个很困难的工作,工作量很大,而且需要大家的积极配合来抄写一本书,团队合作能力很重要。当时都是通过招募抄写员来进行书本的录入和复制工作的, 假设现在要抄写m本书,编号为1,2,3...m, 每本书有1输入: 输入可能包含多个测试样例。第一行仅包含正整数 n,表示测试案例的个数。对于每个测试案例,每个案例由两行组成,在第一行中,有

2013-08-14 19:44:02 1195

原创 项目安排

题目描述: 小明每天都在开源社区上做项目,假设每天他都有很多项目可以选,其中每个项目都有一个开始时间和截止时间,假设做完每个项目后,拿到报酬都是不同的。由于小明马上就要硕士毕业了,面临着买房、买车、给女友买各种包包的鸭梨,但是他的钱包却空空如也,他需要足够的money来充实钱包。万能的网友麻烦你来帮帮小明,如何在最短时间内安排自己手中的项目才能保证赚钱最多(注意:做项目的时候,项目不能并行,即

2013-08-14 12:20:11 918

原创 寻找表达式

题目描述: 现在有一个序列123......N,其中N介于3和15之间,要求在序列之间加入+、-或者空格,使得该序列组成的数学表达式的运算结果为0。输入: 输入可能包含多个测试样例。对于每个测试案例,输入整数N(3输出: 对应每个测试案例,输出所有使得表达式结果为0的组合,当有多个组合时,按字典序进行排序输出。样例输入: 36样例输出: 1

2013-08-14 12:18:12 1060

原创 最长回文子串(Manacher算法)

题目描述: 回文串就是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。回文子串,顾名思义,即字符串中满足回文性质的子串。给出一个只由小写英文字符a,b,c...x,y,z组成的字符串,请输出其中最长的回文子串的长度。输入: 输入包含多个测试用例,每组测试用例输入一行由小写英文字符a,b,c...x,y,z组成的字符串,字符串的长度不大于2

2013-07-27 17:03:31 1860 3

原创 表达式的求值(含括号)

#include #include #include #include #include #include #include using namespace std;double calc(double a,char op,double b){ if(op == '+') return a + b; if(op == '-') return a - b; if

2013-07-06 10:59:40 1214

原创 二叉树的镜像

题目描述:输入一个二叉树,输出其镜像。输入:输入可能包含多个测试样例,输入以EOF结束。对于每个测试案例,输入的第一行为一个整数n(0Ci=’d’表示第i个节点有两子孩子,紧接着是左孩子编号和右孩子编号。Ci=’l’表示第i个节点有一个左孩子,紧接着是左孩子的编号。Ci=’r’表示第i个节点有一个右孩子,紧接着是右孩子的编号。Ci=’

2013-07-04 17:25:50 1217

原创 树的子结构

题目描述:输入两颗二叉树A,B,判断B是不是A的子结构。输入:输入可能包含多个测试样例,输入以EOF结束。对于每个测试案例,输入的第一行一个整数n,m(1输出:对应每个测试案例,若B是A的子树输出”YES”(不包含引号)。否则,输出“NO”(不包含引号)。样例输入:7 38 8 7 9 2 4 72

2013-07-04 17:24:21 1175

原创 树中两个结点的最低公共祖先

题目描述: 给定一棵树,同时给出树中的两个结点,求它们的最低公共祖先。输入: 输入可能包含多个测试样例。对于每个测试案例,输入的第一行为一个数n(0其中每个测试样例包括两行,第一行为一个二叉树的先序遍历序列,其中左右子树若为空则用0代替,其中二叉树的结点个数node_num第二行为树中的两个结点的值m1与m2(0输出: 对应每个测试案例,输出给定的树中两

2013-07-03 13:33:23 1375

原创 题目1503:二叉搜索树与双向链表

题目描述: 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。输入: 输入可能包含多个测试样例。对于每个测试案例,输入的第一行为一个数n(0接下来的n行,每行为一个二叉搜索树的先序遍历序列,其中左右子树若为空则用0代替。输出: 对应每个测试案例,输出将二叉搜索树转换成排序的双向链表后,从链表头至

2013-07-02 22:00:51 1448

原创 链表的一系列操作

#include #include #include #include #include #include using namespace std;struct Node{ int x; struct Node *next;};void createList(Node *head,int n){ Node *p; while(n--){ Node *s = new

2013-06-28 22:37:09 686

原创 题目1512:用两个栈实现队列 && 包含min函数的栈

题目描述:用两个栈来实现一个队列,完成队列的Push和Pop操作。队列中的元素为int类型。输入:每个输入文件包含一个测试样例。对于每个测试样例,第一行输入一个n(1接下来的n行,每行输入一个队列操作:1. PUSH X 向队列中push一个整数x(x>=0)2. POP 从队列中pop一个数。输出:对应每个测试案

2013-06-28 00:30:44 1093

原创 题目1504:把数组排成最小的数

题目描述: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。输入: 输入可能包含多个测试样例。对于每个测试案例,输入的第一行为一个整数m (1输入的第二行包括m个正整数,其中每个正整数不超过10000000。输出: 对应每个测试案例,

2013-06-27 20:28:01 1099 1

原创 求1+2+3+...+n

求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。#include #include using namespace std;long long add(int n,long long &sum){ n && add(n - 1,sum); return sum += n;}int

2013-06-27 16:26:55 971

原创 题目1035:找出直系亲属

题目描述:     如果A,B是C的父母亲,则A,B是C的parent,C是A,B的child,如果A,B是C的(外)祖父,祖母,则A,B是C的grandparent,C是A,B的grandchild,如果A,B是C的(外)曾祖父,曾祖母,则A,B是C的great-grandparent,C是A,B的great-grandchild,之后再多一辈,则在关系上加一个great-。输入:

2013-06-22 14:56:28 924

原创 题目1029:魔咒词典

题目描述:     哈利波特在魔法学校的必修课之一就是学习魔咒。据说魔法世界有100000种不同的魔咒,哈利很难全部记住,但是为了对抗强敌,他必须在危急时刻能够调用任何一个需要的魔咒,所以他需要你的帮助。    给你一部魔咒词典。当哈利听到一个魔咒时,你的程序必须告诉他那个魔咒的功能;当哈利需要某个功能但不知道该用什么魔咒时,你的程序要替他找到相应的魔咒。如果他要的魔咒不在词典中,就输

2013-06-19 21:14:59 751

原创 题目1184:二叉树遍历

题目描述: 编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。例如如下的先序遍历字符串:ABC##DE#G##F###其中“#”表示的是空格,空格字符代表空树。建立起此二叉树以后,再对二叉树进行中序遍历,输出遍历结果。输入: 输入包括1行字符串,长度不超过100。输出: 可能有多组测试数据,对于每组数据,输出

2013-06-07 16:42:08 935

原创 约瑟夫

#include #include #include #include #include #include using namespace std;struct Node{ int id; Node *next;};int main(){ Node *node,*head,*last; head = NULL; for(int i

2013-06-07 02:00:28 727

原创 题目1343:城际公路网 (Floyd)

题目描述: 为了加快城市之间的通行和物资流动速度,A国政府决定在其境内的N个大中型城市之间,增加修建K条公路。已知这N个城市中的任意两个都能相互连通,且已知其最短的路径长度。为了时刻监测修建新路对A国城市的影响,特任命你为观察员,负责在每修建完一条公路之后,就向该国领导汇报当前N个城市间的最短路之和。输入: 测试数据包括多个,每个测试数据包含四个部分首先第一行将输入整数N,其中

2013-06-07 01:06:14 1127

原创 题目1447:最短路(Dijkstra)

题目描述: 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt。但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找最短的从商店到赛场的路线,你可以帮助他们吗?输入: 输入包括多组数据。每组数据第一行是两个整数N、M(N当输入为两个0时,输入结束。输出: 对于每组输入,输出一行,表示工作人员从商店走到赛场的

2013-06-07 00:04:43 897

原创 题目1347:孤岛连通工程

题目描述: 现在有孤岛n个,孤岛从1开始标序一直到n,有道路m条(道路是双向的,如果有多条道路连通岛屿i,j则选择最短的那条),请你求出能够让所有孤岛都连通的最小道路总长度。输入: 数据有多组输入。每组第一行输入n(1接着m行,每行输入一条道路i j d(0输出: 对每组输入输出一行,如果能连通,输出能连通所有岛屿的最小道路长度,否则请输出字符串"no"。

2013-06-06 23:27:04 819

原创 最小生成树

#define MAXN 101int n, ret;int map[MAXN][MAXN];void prim(){ int closet[MAXN]; int dist[MAXN]; int i, j; for ( i=0; i<n; i++) { closet[i] = 0; dist[i] = map[0][i]; } closet[0] = 1; in

2013-06-06 14:09:56 580

原创 题目1017:还是畅通工程(间接排序)

题目描述:     某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路总长度为最小。请计算最小的公路总长度。输入:     测试输入包含若干测试用例。每个测试用例的第1行给出村庄数目N (     当N为0时,输入结束,该用例不被

2013-06-06 11:15:06 724

原创 题目1012:畅通工程(并查集)

题目描述:     某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路?输入:     测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇数目N (     注意:两个城市之间可以有

2013-06-06 10:26:34 723

原创 题目1008:最短路径问题

题目描述: 给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费最少的。输入: 输入n,m,点的编号是1~n,然后是m行,每行4个数 a,b,d,p,表示a和b之间有一条边,且其长度为d,花费为p。最后一行是两个数 s,t;起点s,终点t。n和m为0时输入结束。(1输出: 输出

2013-06-06 00:25:13 622

原创 题目1005:Graduate Admission

题目描述:     It is said that in 2011, there are about 100 graduate schools ready to proceed over 40,000 applications in Zhejiang Province. It would help a lot if you could write a program to automate t

2013-06-05 19:54:15 599

原创 题目1007:奥运排序问题

题目描述: 按要求,给国家进行排名。输入: 有多组数据。第一行给出国家数N,要求排名的国家数M,国家号从0到N-1。第二行开始的N行给定国家或地区的奥运金牌数,奖牌数,人口数(百万)。接下来一行给出M个国家号。输出: 排序有4种方式: 金牌总数 奖牌总数 金牌人口比例 奖牌人口比例 对每个国家给出最佳排名排名方式 和 最终排名格式为: 排名:排名方式

2013-06-05 16:05:31 576

原创 堆排序

#include#include #include #include using namespace std;void swap(int &a,int &b){ a = a ^ b; b = a ^ b; a = a ^ b;}void max_heap(int *a,int i,int size){ int l = 2 * i; int r = 2 * i +

2013-06-02 21:45:21 563

原创 快速乘方

#include#include #include #include using namespace std;int main(){ int a,b,k; while(cin >> a >> b >> k) { int temp = a,ans = 1; while(k){ if(k % 2 == 1)

2013-06-01 14:32:25 795

原创 题目1455:珍惜现在,感恩生活

题目描述: 为了挽救灾区同胞的生命,心系灾区同胞的你准备自己采购一些粮食支援灾区,现在假设你一共有资金n元,而市场有m种大米,每种大米都是袋装产品,其价格不等,并且只能整袋购买。请问:你用有限的资金最多能采购多少公斤粮食呢?输入: 输入数据首先包含一个正整数C,表示有C组测试用例,每组测试用例的第一行是两个整数n和m(1输出: 对于每组测试数据,请输出能够购买大米的最多

2013-06-01 00:54:42 910

原创 题目1494:Dota

题目描述: 大家都知道在dota游戏中,装备是对于英雄来说十分重要的要素。英雄们不仅可以购买单个的装备,甚至某些特定的装备组合能够合成更强的装备。为了简化问题,我们将每个装备对于英雄的功能抽象为一个整数:价值。同时,如上所说,一些特定的装备可以用来合成更强的装备,玩家会因此获得除原装备价值外额外的价值。给定玩家现有的金钱数,每个装备的价格和其对应的价值,以及装备合成的信息。输出,其

2013-05-31 17:15:51 612

原创 题目1462:两船载物问题

题目描述: 给定n个物品的重量和两艘载重量分别为c1和c2的船,问能否用这两艘船装下所有的物品。输入: 输入包含多组测试数据,每组测试数据由若干行数据组成。第一行为三个整数,n c1 c2,(1 接下去n行,每行一个整数,代表每个物品的重量(重量大小不大于100)。输出: 对于每组测试数据,若只使用这两艘船可以装下所有的物品,输出YES。否则输出NO。

2013-05-31 15:55:12 917

原创 题目1497:面积最大的全1子矩阵

题目描述: 在一个M * N的矩阵中,所有的元素只有0和1,从这个矩阵中找出一个面积最大的全1子矩阵,所谓最大是指元素1的个数最多。输入: 输入可能包含多个测试样例。对于每个测试案例,输入的第一行是两个整数m、n(1矩阵共有m行,每行有n个整数,分别是0或1,相邻两数之间严格用一个空格隔开。输出: 对应每个测试案例,输出矩阵中面积最大的全1子矩阵的元素个数。

2013-05-30 18:53:34 1499

转载 题目1482:玛雅人的密码

题目描述:玛雅人有一种密码,如果字符串中出现连续的2012四个数字就能解开密码。给一个长度为N的字符串,(2=题意要求通过移位使得出现连续的2012四个数字,搜索题,只是搜索状态不好发现,总共的所搜状态顶多3^13=1594323,开辟hash[1594323];所以使用搜索不会超时。关键在于“当前状态字符串“转换成相应的状态hash值,从而可以具体实施搜索。

2013-05-30 14:22:27 1593 2

原创 题目1481:Is It A Tree?

A tree is a well-known data structure that is either empty (null, void, nothing) or is a set of one or more nodes connected by directed edges between nodes satisfying the following properties.There

2013-05-30 00:26:29 845

Sublime Text

很好用的编译器,操作简单,支持多种语言,

2014-05-14

深度探索C++对象模型

经典之作,对于理解面向对象也很大的帮助,有需要的可以下载

2013-05-01

java程序员知识点

j2se基础知识,面试试题,一些很经典的东西

2009-01-16

空空如也

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

TA关注的人

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