![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 81
BIAOBIAO齐
专注,执行力,把简单的事情做到极致
展开
-
PAT Basic Level 1001-1010
PAT Basic Level 1001-1010 APR 4TH, 2013 背景 算法开始练手了。从最简单的做起。 由于实验室用的是Java,为了节省时间,也为了更好的掌握这门语言,我先用Java来实现了。在并非以比赛为目的的前提下,这并不妨碍什么,唯一的可能就是没有足够的参考代码咯。:(话说,自己也并不是特别喜欢一些“简洁”的代码。我现在的手速是不快,但过于简介的原创 2013-04-05 01:15:11 · 2709 阅读 · 0 评论 -
PAT 1051-1060 题解
浏览全部代码:请戳 本文谨代表个人思路,欢迎讨论;) 1051. Pop Sequence (25) 题意 给定 stack 的容量,给定数据的入栈顺序:从 1 开始的正整数序列,在允许随机的出栈操作的情况下,要求判断某出栈序列是否可能。 比如,告知 stack 容量为 5,入栈序列的最大值为 7。有两个序列需要判断合理性: {1 2 3 4 5 6 7}:原创 2013-08-03 03:06:37 · 3783 阅读 · 3 评论 -
PAT 1041-1050 题解
浏览全部代码:请戳 本文谨代表个人思路,欢迎讨论;) 1041. Be Unique (20) 题意 给出N (5 31 5 88 67 88 17 , 答案是 31 。 分析 简单模拟题,开一个大数组int a[10001];,以读入的数为下标,记录count:a[index] ++;。结果输出第一个存储为1的下标:if (a[index] ==原创 2013-08-03 03:05:21 · 2348 阅读 · 0 评论 -
PAT 1021-1030 题解
早期部分代码用Java实现。由于PAT虽然支持各种语言,但只有C/C++标程来限定时间,许多题目用Java读入数据就已经超时,后来转投C/C++。浏览全部代码:请戳 本文谨代表个人思路,欢迎讨论;) 1021. Deepest Root (25) 题意 无环连通图也可以视为一棵树,选定图中任意一点作为根,如果这时候整个树的深度最大,则称其为deepest root。 给原创 2013-08-03 03:02:48 · 4454 阅读 · 3 评论 -
PAT 1011-1020 题解
早期部分代码用Java实现。由于PAT虽然支持各种语言,但只有C/C++标程来限定时间,许多题目用Java读入数据就已经超时,后来转投C/C++。浏览全部代码:请戳 本文谨代表个人思路,欢迎讨论;) 1011. World Cup Betting (20) 题意 给定一个3*3的矩阵,找到每行的最大值,格式化输出一个运算结果。 分析 非常简单的模拟题。原创 2013-08-03 03:01:47 · 3839 阅读 · 0 评论 -
PAT 1001-1010 题解
早期部分代码用Java实现。由于PAT虽然支持各种语言,但只有C/C++标程来限定时间,许多题目用Java读入数据就已经超时,后来转投C/C++。浏览全部代码:请戳 本文谨代表个人思路,欢迎讨论;) 1001. A+B Format (20) 题意 格式化输出两数之和。 分析 理清输出逻辑即可。 1002. A+B for Polynomials原创 2013-08-03 02:59:11 · 4857 阅读 · 1 评论 -
出栈序列的可能性判定问题(PAT1051)
给定stack的容量,给定数据的入栈顺序:从1开始的正整数序列,在允许随机的出栈操作的情况下,要求判断某出栈序列是否可能。 不同于常规解法,本文使用更高效的解法完成对pop数组的检验。原创 2013-07-16 03:11:54 · 6783 阅读 · 0 评论 -
KMP算法实现
本文描述了单模式的字符串匹配的经典算法KMP算法的实现。首先对字符串匹配算法做简单的介绍,然后是KMP算法的实现描述,最后推荐两道简单的ACM模板题做练手用。 字符串匹配算法 字符串匹配(String Matchiing)也称字符串搜索(String Searching)是字符串算法中重要的一种,是指从一个大字符串或文本中找到模式串出现的位置。一个基本的字符串匹配算法分类如下: 单模原创 2013-05-26 01:40:01 · 4442 阅读 · 0 评论 -
根据前中后序和层序重建二叉树(PAT1020、PAT1043)
欢迎访问新博客,这里有更好的排版哦 ; ) 点击打开链接 背景 《二叉树的遍历(递归、非递归)分析》总结了二叉树不同遍历方式的递归和非递归实现,本文则讨论如何针对不同遍历方式的组合重建二叉树。为了简化问题的考虑,假定二叉树中不会出现重复值。列入考虑范围的有前序、中序、后序、层序遍历这四种的组合。前中后序比较常见,而层序则相对特殊一点了。 PAT的1043和1020题是遍历相关的原创 2013-05-06 00:23:43 · 2076 阅读 · 0 评论 -
二叉树的遍历(递归、非递归)
背景 二叉树是一种很基本的数据结构。很多地方能看到它的身影,比如大名鼎鼎的霍夫曼编码(好了,别问我再比如了,见识浅薄,真不知道更多了。。。)它的结构很简洁、巧妙。 本文讨论二叉树的常见遍历方式的代码实现(这里贴出的是Java),包括前序(preorder)、中序(inorder)、后序(postorder)、层序(level order),进一步,考虑递归和非递归的实现方式。递归方法的实现相对原创 2013-05-04 23:31:24 · 1488 阅读 · 0 评论 -
分治、时间空间的权衡:最大合的连续字串问题 (PAT 1007)
欢迎关注我的新博客点击打开链接 PAT1007:给定一个整数串,找出连续子串中合最大的子串。 《编程珠玑》中用专门的一章对这个问题进行了讲解。(《编程珠玑(第2版)》P73 第8章 算法设计技术) 第一次在PAT上遇到这个题目时,我的思路如下: 最简单的淡然是一个三层循环咯,O(n3),肯定会超时。节省时间的话,用动态规划吧。但简单的动态规划,显然是会超出内存限制的。有没有更巧原创 2013-04-05 21:43:52 · 2115 阅读 · 0 评论 -
PAT Advanced Level (1) Easy Problems
PAT Advanced Level (1) Easy Problems APR 4TH, 2013 今天做的这批题目,总的来说几乎不需要数据结构基础。几个小时刷完。 1001: 数字的格式转换。第一次做的时候,将正负数分两种情况处理了,其实负数可以拆成正数加上一个负号。太简单的道理,竟然没注意。另外,Java完全可以使用NumberFormat实现格式转换。好简单的原创 2013-04-05 01:20:44 · 1499 阅读 · 0 评论 -
PAT练习题概览
PAT(pat.zju.edu.cn)是一个面向C/C++程序的Online Judge系统。相比ZOJ,HDOJ,POJ等ACM题库,PAT的题目非常基础,对于数据结构、算法的入门是比较有助益的。 本文按照自己的认识,给PAT advanced level做出了分类。由于很多题目实际上兼顾有多种解法和思路,我给每道题打上了tag,来应对分类的独占性局限,供大家参考。 简单题 这原创 2013-08-06 00:00:12 · 7929 阅读 · 0 评论