算法
binggo
分享技术实现自我
展开
-
PAT(Advanced Level) 1004 Counting Leaves 解题报告
题目链接http://pat.zju.edu.cn/contests/pat-a-practise/1004本题要求计算给定树中各个深度的叶节点个数。有两种思路可以解决该问题:Solution 1: 使用树的层序遍历Solution 2: 使用图的DFS(树本身就是一种特殊的图,所以DFS也是适用的)下面给出笔者的实现代码:Solution 1#include#incl原创 2013-10-21 16:12:25 · 974 阅读 · 0 评论 -
PAT(Advance Level) 1007 Maximum Subsequence Sum 解题报告
题目链接http://pat.zju.edu.cn/contests/pat-a-practise/1007本题是经典的最大子连续序列问题,可以使用分治法求解。但是本题还有一种很有技巧性的算法,虽然正确性不如分治法,但是时间复杂度较小(仅为O(n))。注意一个case:-1 0 -2,容易被忽视,正确的输出应该是0 0 0,而不是0 -1 -2。下面是C++实现代码:#incl原创 2013-10-21 16:38:28 · 626 阅读 · 0 评论 -
PAT(Advanced Level) 1020 Tree Traversals 解题报告
题目链接http://pat.zju.edu.cn/contests/pat-a-practise/1020本题要求根据二叉树的后序遍历序列和中序遍历序列重建二叉树,然后层序遍历之,并输出。实现之前,需要各位熟悉这个过程(自行查看相关书籍),能够在白纸上模拟。笔者使用树的链式存储给出C++实现。#include#include#includeusing namespac原创 2013-10-21 16:25:50 · 613 阅读 · 0 评论 -
PAT(Advance Level) 1048 Find Coins 解题报告
题目链接http://pat.zju.edu.cn/contests/pat-a-practise/1048由于题目运行时间要求比较严格,为了加快查找速度,使用哈希思想。C++实现代码如下:#includeusing namespace std;bool coin[1000]; //模拟哈希表,在函数体外定义,自动初始化为falseint main(){ int原创 2013-10-21 16:33:43 · 699 阅读 · 0 评论 -
《编程之美》寻找发帖水王扩展问题的代码实现
求职过程中,你会发现面试官的不少问题在《编程之美》中都能找到痕迹。想在企业招聘面试中成功忽悠,这本书不可不读。算了,不再打广告了,哈哈。书中有一节探讨了“寻找发帖水王”,问题是从一堆ID构成的集合中,找到某个发帖总数超过帖子总数一半的ID。面试中的常见问题“从一堆整数中找到出现次数超过总数一半的整数”实际上就是该问题了。在原题中,初步解法是对所有的ID进行排序,然后分析可知这个有序表中第N原创 2014-02-18 17:39:45 · 929 阅读 · 0 评论