摘要:
问题描述:栈是常用的一种数据结构,有n个元素在栈顶端一侧等待进栈,栈顶端另一侧是出栈序列。你已经知道栈的操作有两种:push和pop,前者是将一个元素进栈,后者是将栈顶元素弹出。现在要使用这两种操作,由一个操作序列可以得到一系列的输出序列。请你编程求出对于给定的n,计算并输出由操作数序列1,2,…, 阅读全文
摘要:
Description 求两个不超过200位的非负整数的积。 解决方法:先考虑大整数存储结构,数组和链表都可以,因为数组使用不熟练,我先考虑链表,做了6小时才写好...也是醉了。下面简单介绍我的思路: 1、考虑链表的数据结构:先思考得知,链表结点要有pre、next指针,所以是双向链表,要设置头尾节 阅读全文
摘要:
这个以前学数据结构时就学过的,用c++实现起来很顺利,不过提交时超时,改进后虽然也是O(n^2)复杂度,不过还是Accepted。 思路:链表的结点【系数】【指数】【指向下个结点的指针next】;构造链表时结点按指数从大到小的顺序进行插入操作。一开始,我还设置了add函数实现相加,不过参考一个博客发 阅读全文
摘要:
问题描述:已知n个人(以编号1,2,3...n分别表示)围成一圈。从编号为1的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,求最后那个人的编号(直到所有人全部出列,模拟该过程)?解决:此问题可以用数组or链表实现,可以用数学方法进行简化(不用模拟 阅读全文