10 2011 档案

摘要:http://www.cnblogs.com/miloyip/archive/2010/02/25/1673114.html 阅读全文
posted @ 2011-10-25 14:05 refazy 阅读(188) 评论(0) 推荐(0) 编辑
摘要:/************************************************************************//* 翻转句子中单词的顺序。题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。例如输入“I am a student.”,则输出“student. a am I”。 思路:利用STL,不过如此解法,恐怕违背了出题者本意给出一个准确答案链接http://www.cnblogs.com/youwang/arch... 阅读全文
posted @ 2011-10-24 10:49 refazy 阅读(234) 评论(0) 推荐(0) 编辑
摘要:/************************************************************************//* 判断整数序列是不是二元查找树的后序遍历结果题目:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。如果是返回true,否则返回false。例如输入5、7、6、9、11、10、8,由于这一整数序列是如下树的后序遍历结果:8/ \6 10/ \ / \5 7 9 11因此返回true。如果输入7、4、6、5,没有哪棵树的后序遍历的结果是这个序列,因此返回false。思路:后序遍历... 阅读全文
posted @ 2011-10-24 10:16 refazy 阅读(1107) 评论(0) 推荐(0) 编辑
摘要:如图所示,目前程序能完成添加单曲音乐,音量控制,播放控制,只是播放进度条在定期滑动时会引起音乐间断,初步猜测是线程问题。//2011.10.21经过测试,并非是线程问题,而是程序响应了滑动条OnNMCustomdrawProgress消息,并在此消息中又调整了音乐播放的位置,因此会出现播放反复现象。不过这个错误使得今天学习了MFC多线程编程。http://www.vckbase.com/document/viewdoc/?id=1706//解决办法是在OnNMReleasedcaptureProgress而不是OnNMCustomdrawProgress中响应进度条拖动消息。在定时器中定时更新 阅读全文
posted @ 2011-10-20 15:44 refazy 阅读(8396) 评论(0) 推荐(0) 编辑
摘要:/*腾讯面试题:给你10 分钟时间,根据上排给出十个数,在其下排填出对应的十个数要求下排每个数都是先前上排那十个数在下排出现的次数。上排的十个数如下:【0,1,2,3,4,5,6,7,8,9】举一个例子,数值: 0,1,2,3,4,5,6,7,8,9分配: 6,2,1,0,0,0,1,0,0,00 在下排出现了6 次,1 在下排出现了2 次,2 在下排出现了1 次,3 在下排出现了0 次....以此类推..此程序采用穷举法*/#include <iostream>using namespace std;#define len 100class TBNumber{public: TB 阅读全文
posted @ 2011-10-19 10:45 refazy 阅读(1292) 评论(0) 推荐(1) 编辑
摘要:/************************************************************************//* 查找最小的k 个元素题目:输入n 个整数,输出其中最小的k 个。例如输入1,2,3,4,5,6,7 和8 这8 个数字,则最小的4 个数字为1,2,3 和4。 思路:利用make_heap选出vector前K个数的最大值,对于后面的元素,与最大值作比较,如果小于最大值,则替换最大值,然后再次make_heap,选出当前k个数中的最大值.此种解法利用STL函数跳过了建堆过程。//make_heap是标准算法库... 阅读全文
posted @ 2011-10-18 10:15 refazy 阅读(1285) 评论(0) 推荐(0) 编辑
摘要:http://lilongfei1030.blog.163.com/blog/static/860152820087201031473/题目: 亲戚(Relations)或许你并不知道,你的某个朋友是你的亲戚。他可能是你的曾祖父的外公的女婿的外甥的表姐的孙子。如果能得到完整的家谱,判断两个人是否亲戚应该是可行的,但如果两个人的最近公共祖先与他们相隔好几代,使得家谱十分庞大,那么检验亲戚关系实非人力所能及.在这种情况下,最好的帮手就是计算机。为了将问题简化,你将得到一些亲戚关系的信息,如同Marry和Tom是亲戚,Tom和B en是亲戚,等等。从这些信息中,你可以推出Marry和Ben是亲戚。请 阅读全文
posted @ 2011-10-17 14:47 refazy 阅读(288) 评论(0) 推荐(0) 编辑
摘要:/************************************************************************//* 4.在二元树中找出和为某一值的所有路径题目:输入一个整数和一棵二元树。从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。打印出和与输入整数相等的所有路径。3例如输入整数22 和如下二元树10/ \5 12/ \4 7则打印出两条路径:10, 12 和10, 5, 7。二元树节点的数据结构定义为:struct BinaryTreeNode // a node in the binary tree{int m_nValue; /. 阅读全文
posted @ 2011-10-17 13:49 refazy 阅读(255) 评论(0) 推荐(0) 编辑
摘要:/************************************************************************//* 求子数组的最大和题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2,因此输出为该子数组的和18。 ... 阅读全文
posted @ 2011-10-17 10:53 refazy 阅读(206) 评论(0) 推荐(0) 编辑
摘要:定义栈的数据结构,要求添加一个min 函数,能够得到栈的最小元素。要求函数min、push 以及pop 的时间复杂度都是O(1)。思路:在栈结点中增加一个指向当前栈最小值的指针。 #include <iostream>#include <time.h>using namespace std;struct StackNode{ int value; StackNode *pNext; StackNode *pMin;} ;typedef struct{ StackNode *top; //栈顶指针}LinkStack;void InitStack(LinkStack *S 阅读全文
posted @ 2011-10-17 10:27 refazy 阅读(215) 评论(0) 推荐(0) 编辑
摘要:http://baike.baidu.com/view/717633.htm已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。例子:n = 9, k = 1, m = 5【解答】出局人的顺序为5, 1, 7, 4, 3, 6, 9, 2, 8。这个就是约瑟夫环问题的实际场景,有一种是要通过输入n,m,k三个正整数,来求出列的序列。这个问题采用的是典型的循环链表的数据结构,就是将一个链表的尾元素指针指向队首元素。 p->link=head 阅读全文
posted @ 2011-10-15 09:28 refazy 阅读(680) 评论(0) 推荐(2) 编辑
摘要:1.把二元查找树转变成排序的双向链表题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。10/ \6 14/ \ / \4 8 12 16转换成双向链表4=6=8=10=12=14=16。首先我们定义的二元查找树节点的数据结构如下:struct BSTreeNode{int m_nValue; // value of nodeBSTreeNode *m_pLeft; // left child of nodeBSTreeNode *m_pRight; // right child of node};// 1:构造二叉查找树;// 2:中 阅读全文
posted @ 2011-10-14 16:36 refazy 阅读(10489) 评论(3) 推荐(4) 编辑