题目地址:https://pta.patest.cn/pta/test/558/exam/4/question/9495 由于边数E<(n*(n-1))/2 所以我选用了邻接表实现,优先队列用循环队列实现; DFS基本思路: 1:选择一个点,标志已经访问过; 2:判断这个点的其他邻接点(访问顺序按题 ...
分类:
编程语言 时间:
2016-06-09 14:42:07
阅读次数:
261
题目: 在一个贴吧里,有一个水王,经常发帖,回帖,整个贴吧,有一半以上是他的帖子,已知有一张帖子清单,含有作者ID,试编写程序,找出水王。 方法: 1.首先以第一个id开始,与下一个id比较,若相同,则与再下一个比较直至两个id不同,然后清空 2.在从现有的id中选择第一个id重复以上步骤 3.重复 ...
分类:
其他好文 时间:
2016-05-19 21:08:59
阅读次数:
144
题意描述:题意描述:实现一个函数把字符串中的每个空格替换成“20%”。例如:
输入:“we are happy”
输出:“we%20are%20happy”
解题思路:(C++实现方法)如果从前往后遍历,遇到空格再将字符向后移动,则假设有O(n)个空格的时间效率就是O(n^2)。因此优化的解法就是一次移到位,先遍历一次字符串,可同时得到字符串的长度和字符串中空格的数量,然后对于1个空格用...
分类:
编程语言 时间:
2016-05-12 21:15:11
阅读次数:
216
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5316
题意:给出一个大小为n的区间,2种操作,更新某一个点的值,或者查询[l,r]区间的“最大值序列”(要求该序列的下标奇偶相间)
思路:线段树的单点更新和区间合并可以实现题目要求,我们维护4个数据就好,查询的比较特殊
(1).区间里最大的以奇数开头和以奇数结尾的序列...
分类:
其他好文 时间:
2016-05-12 17:12:06
阅读次数:
197
题目:输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素,例如{1,2,3,4,5}数组的一个旋转数组{3,4,5,1,2},其最小的元素为1,
解析加完整可以与运行代码...
分类:
编程语言 时间:
2016-05-07 09:18:25
阅读次数:
205
D&A 5 Collection with Inheritance此题要求完成对以上类的实现。题目要求文件和答案知识点补充:虚继承虚继承 是面向对象编程中的一种技术,是指一个指定的基类,在继承体系结构中,将其成员数据实例共享给也从这个基类型直接或间接派生的其它类。举例来说:假如类A和类B各自从类X派生(非虚继承且假设类X包含一些数据成员),且类C同时多继承自类A和B,那么C的对象就会拥有两套X的实例...
分类:
编程语言 时间:
2016-04-22 20:38:40
阅读次数:
198
题目:
有以ha为头结点的链表,元素个数为m;以hb为头结点的链表,元素个数为n。现在需要你把这两个链表连接起来,并使时间复杂度最小,请分析并实现。
思路:
很简单的链表操作的题目,逆序头部插入,并将长度较长的一方接到较短的后面,时间复杂度为O(min(m,n))。
#include
#include
#include
using namespace std;
typedef int...
分类:
其他好文 时间:
2016-04-04 16:39:50
阅读次数:
168
快速幂 求a的b次幂,如3^999次幂,最最普通的做法就是嵌套循环,不断累乘,最后得出结果,而快速幂算法可以更快的实现。 题目: 计算a^b = ?. 分析: 把b换成二进制,用位运算计算结果。 代码: ...
分类:
其他好文 时间:
2016-04-04 14:40:44
阅读次数:
190
设计思想: 1、定义数组number1[] number2[] 2、首先在ChooseAmount()函数中选择题目数量实现题目数的订制 3、在ChooseMD()函数中选择是否有乘除法 其中定义变量mDChoose 若为1则有 若为2 则无 4、在ChooseNumberRange()选择输出数值
分类:
其他好文 时间:
2016-03-19 19:18:17
阅读次数:
212
题意:求解一串不出现数学公式只含'+','-','*','/', '(' , ')'的计算表达式,输出结果; 其中'/'是带小数的除法。并且输入的数值位double型,若是输入的运算符有误,或者出现除0错误,则直接输出intput error. 输入时除数值之间不能出现空格外,其他地方均能有空格。并
分类:
其他好文 时间:
2016-03-19 14:20:46
阅读次数:
138