华为OJ—火车进站(栈,字典排序)
摘要:http://career-oj.huawei.com/exam/ShowSolution?method=SolutionApp&id=2282给定一个正整数N代表火车数量,0 2 #include 3 #include 4 5 using namespace std; 6 7 #defin...
阅读全文
posted @
2015-04-10 12:25
简单的信仰
阅读(3439)
推荐(2)
华为OJ—字符串排序(排序,忽略指定字符排序)
摘要:http://career-oj.huawei.com/exam/ShowProblemInfo?id=2168编写一个程序,将输入字符串中的字符按如下规则排序。规则1:英文字母从A到Z排列,不区分大小写。如,输入:Type输出:epTy规则2:同一个英文字母的大小写同时存在时,按照输入顺序排列。如...
阅读全文
posted @
2015-03-17 20:11
简单的信仰
阅读(1575)
推荐(0)
(图 BFS)走迷宫
摘要:题目: 给一个迷宫,求出从起点到终点的路径。迷宫 src.txt 文件内容如下,第一行是迷宫的行列数,后面行是迷宫,1表示可行走,0表示不可以通过,起点是最左上角,终点是最右下角:1 6 52 1 1 0 1 13 1 0 1 1 14 1 0 1 0 05 1 0 1 1 16 1 1 1 0 ...
阅读全文
posted @
2014-09-13 15:17
简单的信仰
阅读(982)
推荐(0)
由后序遍历结果构造二叉查找树 && 二叉查找树链表化
摘要:二叉查找树通俗说就是左孩子比父亲小,右孩子比父亲大。构造这么一个树,树嘛,递归即可。 例如一棵树后序遍历是这样(下图的树):2 9 8 16 15 10 25 38 45 42 30 20。最后的20肯定是树根,这里要抓住一个规律:20是树根,那么2 9 8 16 15 10都是左子树,25 ...
阅读全文
posted @
2014-08-27 12:10
简单的信仰
阅读(686)
推荐(0)
求几亿个数中不重复元素的个数
摘要:题目: 有2.5亿个无符号整数(但在文件里面),要求找出这2.5亿个数字里面,不重复的数字的个数(那些只出现一次的数字的数目);另外,可用的内存限定为600M;要求算法高效、最优。思路: 这么多个数字,全部读到内存里面肯定不行的,那么就要读一些处理一些。试想用一个标志的数组,里面放的是true或...
阅读全文
posted @
2014-08-26 11:57
简单的信仰
阅读(1246)
推荐(0)
(栈)栈 给定push序列,判断给定序列是否是pop序列
摘要:题目: 输入两个整数序列。其中一个序列表示栈的push顺序,判断另一个序列有没有可能是对应的pop顺序。为了简单起见,我们假设push序列的任意两个整数都是不相等的。 比如输入的push序列是1、2、3、4、5,那么4、5、3、2、1就有可能是一个pop系列。因为可以有如下的push和pop序列...
阅读全文
posted @
2014-08-24 17:02
简单的信仰
阅读(1626)
推荐(0)
网易面试题:和为n连续正数序列
摘要:题目: 输入一个正数n,输出所有和为n连续正数序列。例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5、4-6和7-8。 继续做些题目,看到这是网易面试题,于是又认认真真自己思考着做了。解决: 结果一定是2个相连的数、3个相连的数、4个、5个等等。那么可...
阅读全文
posted @
2014-08-22 19:13
简单的信仰
阅读(1988)
推荐(0)
Google面试题:计算从1到n的正数中1出现的次数
摘要:题目: 输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。例如输入12,从1到12这些整数中包含1 的数字有1,10,11和12,1一共出现了5次。 找工作,准备看写题目,题目说是Google面试题,遂很认真地自己做了下。找规律: 其实可以从中找出数列的规律。求从1到n数字中的1...
阅读全文
posted @
2014-08-20 19:47
简单的信仰
阅读(489)
推荐(0)
递归法
摘要:一:递归获得二叉树高度 因为树本身就是递归定义,创建也可以递归创建,所以高度不也可以递归获得嘛?如下:int getHeight(Node* pNode){ if (pNode) { 左树高度 = getHeight(pNode->lChild) 右树高度 ...
阅读全文
posted @
2014-08-20 10:31
简单的信仰
阅读(280)
推荐(0)
打印给定字符串中字符的所有排列
摘要:题目: 输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则输出由字符a、b、c所能排列出来的所有字符串abc、acb、bac、bca、cab和cba。解决: 简单起见,字符串中没有相同的字符。 其实这是个递归的过程:对于字符串str,先分别逮住其中的每一个,如s,把它从s...
阅读全文
posted @
2014-08-19 11:49
简单的信仰
阅读(1252)
推荐(0)
对二维数组排序 使得每行每列非递减
摘要:一:题目int a[10][10]={...}; 要求对a进行排序,使之: 1 每行从左到右为非减序列; 2 每列从上到下为非减序列;二:我的思路 我的思路就是按照如下方式填数字,从左上角一直到右下角,按照四十五度的斜线一条条地填数字,这样保证下一层斜线里面的数字比上一层大。因为...
阅读全文
posted @
2014-07-27 14:38
简单的信仰
阅读(539)
推荐(0)
二叉树非递归先中后序遍历 及 非递归交换二叉树两个孩子的位置
摘要:看到一个非递归交换一个二叉树的左右孩子的位置,于是想实现之,才发现非递归的先中后序遍历都忘记了……于是杂七杂八的写了一些,抄抄资料就实现了,然后实现非递归交换两个孩子的位置还是相当容易的。先直接上代码吧,其实这东西还是得自己写写过一遍的,印象才会更加深刻:#include #include #i...
阅读全文
posted @
2014-07-23 17:47
简单的信仰
阅读(1601)
推荐(0)
打印数字 形状有点得味
摘要:打印如下形状的东西:刚开始看了半天,愣住了,然后才知道了如何做。一:先来点简单的 就先打印了如下:这样的还是挺容易的,for循环打印每一行,每一行打印出特定多的,只是在for循环内部确定下一次是要增加打印的个数还是减少,代码:#include using namespace std;int m...
阅读全文
posted @
2014-07-16 22:28
简单的信仰
阅读(312)
推荐(0)
(链表)链表倒序
摘要:链表倒序,难点在于如何一个个地修改。虽然不是数组,但是大概思想是一样的,所以可以用一个for循序,一个游标对应for循环里面的 i,只不过要记得前一个节点和后一个节点,尤其是后一个,因为修改之后就访问不到后面的,所以要记录。for每一个循环只改变所指向的那个节点的指针,这样既不会乱套了。 用一...
阅读全文
posted @
2014-07-16 21:11
简单的信仰
阅读(1916)
推荐(0)
Linux 内核 链表 的简单模拟(2)
摘要:接上一篇Linux 内核 链表 的简单模拟(1) 第五章:Linux内核链表的遍历/*** list_for_each - iterate over a list* @pos: the &struct list_head to use as a loop cursor.* @...
阅读全文
posted @
2014-06-07 15:09
简单的信仰
阅读(457)
推荐(0)
Linux 内核 链表 的简单模拟(1)
摘要:第零章:扯扯淡 出一个有意思的题目:用一个宏定义FIND求一个结构体struct里某个变量相对struc的编移量,如struct student{ int a; //FIND(struct student,a) 等于0 char b; //FIND(struct st...
阅读全文
posted @
2014-06-06 16:36
简单的信仰
阅读(608)
推荐(1)
编程之美 ---> 1.2中国象棋将帅问题
摘要:上图,将帅不能碰面,列出将帅不碰面的所有可能情况,要求:程序只能用一个只有8位的变量(#define这样的就不算了)为了更加符合程序员的口味,给将帅位置编号如下:0--1--2| | |3--4--5| | |6--7--8输出将帅所有可能情况,(0,1)等等--------------------------------------------------------------------------------------------------------------------------------------------------思路一:程序框架应该如下,关键是怎么样用...
阅读全文
posted @
2014-01-01 12:15
简单的信仰
阅读(336)
推荐(0)
UVaOJ 120 - Stacks of Flapjacks
摘要:120 - Stacks of Flapjacks题目看了半天......英语啊!!!好久没做题...循环输入数字都搞了半天...罪过啊!!!还是C方便一点...其实C++应该更方便的...C++得再看看!!!#include #include using namespace std;/*翻转*/void myReverse(int arr[],int s,int e) { while (s>myArr[myCount++]; } /*输出原始的*/ for (int i=0;i=0;i--) //针对此次最大的数 { ...
阅读全文
posted @
2013-12-31 12:09
简单的信仰
阅读(239)
推荐(0)
最长回文子串
摘要:原串中连续出现且正着看与倒着看一样的串,这里忽略非字母#include #include #include int main(void){ using namespace std; const int MAXLEN=100; char src[MAXLEN]; //源 c...
阅读全文
posted @
2013-12-21 10:12
简单的信仰
阅读(168)
推荐(0)