剑指offer学习笔记
文章平均质量分 78
biluyang
这个作者很懒,什么都没留下…
展开
-
二维数组中的查找
题目描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。输入:输入可能包含多个测试样例,对于每个测试案例,输入的第一行为两个整数m和n(1输入的第二行包括一个整数t(1接下来的m行,每行有n个数,代表题目所给出的m行n列的矩阵(矩阵如题目描述所示,每一行都原创 2015-02-24 20:35:11 · 296 阅读 · 0 评论 -
重建二叉树
题目描述:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并输出它的后序遍历序列。struct BinaryTreeNode{ int m_nValue; BinaryTre原创 2015-02-26 12:32:32 · 369 阅读 · 0 评论 -
赋值运算符函数
题目描述:如下为类型CMyString的声明,请为该类型添加赋值运算符函数。class CMyString{public: CMyString(char* pData = NULL); CMyString(const CMyString& str); ~CMyString(void);private: char* m_pData;};分析:(1)原创 2015-02-24 12:54:41 · 316 阅读 · 0 评论 -
替换空格
题目描述:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。输入:每个输入文件仅包含一组测试样例。对于每组测试案例,输入一行代表要处理的字符串。输出:对应每个测试案例,出经过处理后的字符串。第一种解法原创 2015-02-24 22:12:01 · 299 阅读 · 0 评论 -
旋转数组的最小数字
题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。输入:输入可能包含多个测试样例,对于每个测试案例,输入的第一行为一个整数n(1输入的第二行包括n个整数,其中每个整数a的范围是(1输出:对应每个测试案例原创 2015-03-02 15:18:44 · 640 阅读 · 0 评论 -
数值的整数次方
题目描述:给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。输入:输入可能包含多个测试样例。对于每个输入文件,第一行输入一个整数T,表示测试案例的数目,接下来的T行每行输入一个浮点数base和一个整数exponent,两个数中间用一个空格隔开。输出:对应每个测试案例,输出一个浮点数代表答案,保留两位小数即可。原创 2015-03-04 11:44:59 · 559 阅读 · 0 评论 -
打印1到最大的N位数
题目描述:给定一个数字N,打印从1到最大的N位数。输入:每个输入文件仅包含一组测试样例。对于每个测试案例,输入一个数字N(1输出:对应每个测试案例,依次打印从1到最大的N位数。样例输入:1样例输出:123456789分析:这是一个大数问题,利用字符串模拟运算。#include#include#inc原创 2015-03-04 18:35:59 · 595 阅读 · 0 评论