自定义博客皮肤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)
  • 收藏
  • 关注

原创 智能指针的实现

智能指针能防止内存泄漏和非法指针引用。根据C++Primer和MSDN中关于shared_ptr的接口,实现了只有重要函数的简化版的shared_ptr#include #include using namespace std;template class shared_ptr;template class u_Counter;templateclass shared_ptr

2015-09-07 22:15:29 624

原创 pat 1096

1096. Consecutive Factors (20)时间限制400 ms内存限制65536 kB代码长度限制16000 B判题程序Standard作者CHEN, YueAmong all the factors of a positive in

2015-08-13 18:49:33 601

转载 vi打开多文件

可分两种情况:1、在同一窗口中打开多个文件:vi file1 file2 file3:n  切换到下一个文件 (n=next):N  切换到上一个文件2、在不同窗口中打开多个文件:如果已经打开一个了一个文件,则在vi的命令输入状态下输入 :sp 另外一个文件的路径及文件名,如此就可以在一个窗口打开多个文件了。或者用 vi -o file1

2015-07-03 16:28:04 667

原创 226Invert Binary Tree

Invert a binary tree. 4 / \ 2 7 / \ / \1 3 6 9to 4 / \ 7 2 / \ / \9 6 3 1Trivia:This problem was inspired by this original tweet by Max Howe

2015-06-17 10:39:02 466

原创 队列实现插入,弹出,找到最大值和最小值的操作

去年10月份左右的时候,一位师兄曾说到他的一篇面试题,好像是实现一个队列,这个队列包含插入,弹出,找到最大值和最小值的操作。对于实现一个栈,这个栈包含插入,弹出,找到最大值和最小值的操作,这个栈的实现相对于上面队列的实现更简单。先说栈的实现:使用三个栈来保存原栈,栈最大值和栈最小值。stack st;stack maxst;stack minst;void push

2015-06-05 12:01:54 3350 1

原创 题目1372:最大子向量和(连续子数组的最大和)

时间限制:1 秒内存限制:32 兆题目描述:HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天JOBDU测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大

2015-06-04 11:37:53 707

原创 C语言中声明和定义的区别——分析extern关键词。

一直很迷惑C语言中的声明和定义的有些实践中的用法,说迷惑实践是因为声明和定义的概念上的区别是很明确的。定义和声明的区别(主要针对变量):定义是要为变量分配存储空间,还可以在定义的时候为变量指定初始值。在一个程序中,变量有且仅有一次定义。声明用于向程序表明变量的类型和名字。定义包括声明:定义变量时我们声明了变量的类型和名字。可以使用extern关键字声明变量名而定义它。不定义变量的声明包

2015-06-03 08:28:00 4555

原创 题目1371:最小的K个数

时间限制:1 秒内存限制:32 兆题目描述:输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。输入:每个测试案例包括2行:第一行为2个整数n,k(1第二行包含n个整数,表示这n个数,数组中的数的范围是[0,1000 000 000]。输出:对应每个测试案例,输出最

2015-06-02 23:01:34 764

原创 题目1370:数组中出现次数超过一半的数字

时间限制:1 秒内存限制:32 兆题目描述:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。输入:每个测试案例包括2行:第一行输入一个整数n(1第二行输入n个整数,表示数组中的每个元素,这n个整数的范围是[

2015-06-02 22:39:12 648

原创 题目1369:字符串的排列

题目描述:输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。输入:每个测试案例包括1行。输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。输出:对应每组数据,按字典序输出所有排列。样例输入:abcBC

2015-06-02 22:33:23 582

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

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

2015-06-02 21:36:16 482

原创 题目1524:复杂链表的复制

时间限制:1 秒内存限制:128 兆题目描述:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点)。输入:输入可能包含多个测试样例,输入以EOF结束。对于每个测试案例,输入的第一行为一个整数n (1接下来有n个数,表示链表节点中的值。接下来有n个数Ti,Ti表示第i个节点的另一个

2015-05-28 22:22:33 415

原创 题目1368:二叉树中和为某一值的路径

时间限制:1 秒内存限制:32 兆题目描述:输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。输入:每个测试案例包括n+1行:第一行为2个整数n,k(1接下来有n行。这n行中每行为3个整数vi,leftnode,rightnode,vi表示第i个结点的值,l

2015-05-28 22:12:46 623

原创 题目1367:二叉搜索树的后序遍历序列

时间限制:1 秒内存限制:32 兆题目描述:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。输入:每个测试案例包括2行:第一行为1个整数n(1第二行包含n个整数,表示这个数组,数组中的数的范围是[0,100000000]。输出:对应每个测试案例,

2015-05-28 21:45:11 495

原创 题目1523:从上往下打印二叉树

时间限制:1 秒内存限制:128 兆题目描述:从上往下打印出二叉树的每个节点,同层节点从左至右打印。输入:输入可能包含多个测试样例,输入以EOF结束。对于每个测试案例,输入的第一行一个整数n(1Ci=’d’表示第i个节点有两子孩子,紧接着是左孩子编号和右孩子编号。Ci=’l’表示第i个节点有一个左孩子,紧接着是左孩子的编号

2015-05-28 21:23:39 722

原创 题目1366:栈的压入、弹出序列

时间限制:1 秒内存限制:32 兆题目描述:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。输入:每个测试案例包括3行:第一行为1个整数

2015-05-28 21:12:01 518

原创 题目1522:包含min函数的栈

时间限制:1 秒内存限制:128 兆题目描述:定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。输入:输入可能包含多个测试样例,输入以EOF结束。对于每个测试案例,输入的第一行为一个整数n(1接下来有n行,每行开始有一个字母Ci。Ci=’s’时,接下有一个数字k,代表将k压入栈。Ci=’o’时,弹出栈顶

2015-05-28 20:55:08 417

原创 题目1391:顺时针打印矩阵

时间限制:1 秒内存限制:32 兆题目描述:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵:1 2 3 45 6 7 89 10 11 1213 14 15 16则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.输入:输入可能包含多个测试样例,对于每个测

2015-05-28 20:27:08 534

原创 题目1521:二叉树的镜像

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

2015-05-28 19:58:20 535

原创 题目1520:树的子结构

时间限制:1 秒内存限制:128 兆题目描述:输入两颗二叉树A,B,判断B是不是A的子结构。输入:输入可能包含多个测试样例,输入以EOF结束。对于每个测试案例,输入的第一行一个整数n,m(1输出:对应每个测试案例,若B是A的子树输出”YES”(不包含引号)。否则,输出“NO”(不包含引号)。

2015-05-28 18:06:12 449

原创 题目1519:合并两个排序的链表

时间限制:1 秒内存限制:128 兆题目描述:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。(hint: 请务必使用链表。)输入:输入可能包含多个测试样例,输入以EOF结束。对于每个测试案例,输入的第一行为两个整数n和m(0下面一行包括n个数t(1输出:对应

2015-05-28 16:30:26 478

原创 题目1518:反转链表

时间限制:1 秒内存限制:128 兆题目描述:输入一个链表,反转链表后,输出链表的所有元素。(hint : 请务必使用链表)输入:输入可能包含多个测试样例,输入以EOF结束。对于每个测试案例,输入的第一行为一个整数n(0输入的第二行包含n个整数t(0输出:对应每个测试案例,以此输出链表反转后的元

2015-05-28 16:27:16 690

原创 题目1517:链表中倒数第k个结点

时间限制:1 秒内存限制:128 兆题目描述:输入一个链表,输出该链表中倒数第k个结点。(hint: 请务必使用链表。)输入:输入可能包含多个测试样例,输入以EOF结束。对于每个测试案例,输入的第一行为两个整数n和k(0输入的第二行包括n个数t(1输出:对应每个测试案例,若有结果,输出相应的查找结果

2015-05-28 16:15:25 492

原创 题目1516:调整数组顺序使奇数位于偶数前面

时间限制:1 秒内存限制:128 兆题目描述:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。输入:每个输入文件包含一组测试案例。对于每个测试案例,第一行输入一个n,代表该数组中数字的个数。接下来的一行输

2015-05-28 16:04:04 384

原创 题目1515:打印1到最大的N位数

时间限制:1 秒内存限制:128 兆题目描述:给定一个数字N,打印从1到最大的N位数。输入:每个输入文件仅包含一组测试样例。对于每个测试案例,输入一个数字N(1输出:对应每个测试案例,依次打印从1到最大的N位数。样例输入:1样例输出:123456789

2015-05-28 15:45:03 388

原创 题目1514:数值的整数次方

时间限制:1 秒内存限制:128 兆题目描述:给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。输入:输入可能包含多个测试样例。对于每个输入文件,第一行输入一个整数T,表示测试案例的数目,接下来的T行每行输入一个浮点数base和一个整数exponent,两个数中间用一个空格隔开。

2015-05-28 15:42:47 353

原创 题目1513:二进制中1的个数

时间限制:1 秒内存限制:128 兆题目描述:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。输入:输入可能包含多个测试样例。对于每个输入文件,第一行输入一个整数T,代表测试样例的数量。对于每个测试样例输入为一个整数。。n保证是int范围内的一个整数。输出:对应每个测试案例,输出一个整数

2015-05-28 15:07:50 610

原创 题目1390:矩形覆盖

时间限制:1 秒内存限制:32 兆题目描述:我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?输入:输入可能包含多个测试样例,对于每个测试案例,输入包括一个整数n(1输出:对应每个测试案例,输出用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有的方法

2015-05-28 14:49:57 354

原创 题目1389:变态跳台阶

1 秒内存限制:32 兆题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。输入:输入可能包含多个测试样例,对于每个测试案例,输入包括一个整数n(1输出:对应每个测试案例,输出该青蛙跳上一个n级的台阶总共有多少种跳法。样例输入:6样例输出:32

2015-05-28 14:47:54 396

原创 题目1388:跳台阶

1 秒内存限制:32 兆特殊判题:题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。输入:输入可能包含多个测试样例,对于每个测试案例,输入包括一个整数n(1输出:对应每个测试案例,输出该青蛙跳上一个n级的台阶总共有多少种跳法。样例输入:5样例输出

2015-05-28 14:43:02 62

原创 题目1387:斐波那契数列

1 秒内存限制:32 兆题目描述:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。斐波那契数列的定义如下:输入:输入可能包含多个测试样例,对于每个测试案例,输入包括一个整数n(1输出:对应每个测试案例,输出第n项斐波那契数列的值。样例输入:3样例输出:2方法

2015-05-28 14:18:48 427

原创 题目1386:旋转数组的最小数字

时间限制:1 秒内存限制:32 兆题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。输入:输入可能包含多个测试样例,对于每个测试案例,输入的第一行为一个整数n(1输入的第二行包括

2015-05-27 22:15:48 454

原创 题目1512:用两个栈实现队列

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

2015-05-27 21:54:47 408

原创 题目1385:重建二叉树

1 秒内存限制:32 兆题目描述:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并输出它的后序遍历序列。输入:输入可能包含多个测试样例,对于每个测试案例,输入的第

2015-05-27 21:40:21 394

原创 题目1511:从尾到头打印链表

时间限制:1 秒内存限制:128 兆题目描述:输入一个链表,从尾到头打印链表每个节点的值。输入:每个输入文件仅包含一组测试样例。每一组测试案例包含多行,每行一个大于0的整数,代表一个链表的节点。第一行是链表第一个节点的值,依次类推。当输入到-1时代表链表输入完毕。-1本身不属于链表。输出:对应每个测试案例,以从

2015-05-27 20:19:56 445

原创 题目1510:替换空格

时间限制:1 秒内存限制:128 兆题目描述:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。输入:每个输入文件仅包含一组测试样例。对于每组测试案例,输入一行代表要处理的字符串。输出:对应每个测试案例,

2015-05-27 20:00:30 359

原创 题目1384:二维数组中的查找

时间限制:1 秒内存限制:32 兆题目描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。输入:输入可能包含多个测试样例,对于每个测试案例,输入的第一行为两个整数m和n(1输入的第二行包括一个整数t(1接下来的m行,每行有n个数,代

2015-05-27 17:34:18 97

原创 使用数组来模拟邻接表存储图信息

一般使用邻接表存储图信息的数据结构如下图vector vec[N];使用数组模拟邻接表的数据结构如下图(这个存储方法很新颖,可以了解一下,以前在别人的算法中屡次遇见,今天才明白它的存储逻辑)int head[N];int p[M];  存储的是边指向的点下标int nextP[M]; 存储的是边int edgecnt = 0;//加入边void addedge(in

2015-05-25 21:27:22 2057 1

原创 栈:stack的实现

栈(stack)是限制插入和删除只在一个位置进行的表,该位置是表的末端,叫做栈顶。栈的基本操作:进栈、出栈。其他操作:返回栈顶元素、清空、判空。数据结构与算法分析——C语言描述里有几句话不太明白,请路过的高手指教一下:1、对空栈进行的Pop或Top一般认为是栈ADT的错误,当运行Push时空间用尽是个实现错误,但不是ADT错误。ADT错误和实现错误具体指什么,为什么Pop、Top属

2015-03-24 08:53:23 460

原创 网站搭建之路一:Windows下PHP环境的搭建

基于Windows环境下的PHP开发环境搭建(apache + mysql + php)访问网页大致过程如下:一、下载apache + mysql + php有官方网站下载强迫症的同学在下载apache时可参详百度经验《如何从Apache官网下载windows版apache服务器》。Apache:httpd-2.4.12-win32-VC11.zipMySQL:mysq

2015-03-23 18:21:01 1216

空空如也

空空如也

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

TA关注的人

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