06 2020 档案

摘要:#如何实现大整数相加 摘自漫画算法: 题目:给出两个很大的整数,要求实现程序求出两个整数之和。 注意:很多人第一想法就是直接用long存储,在程序里相加不就行了;但是如果这两个整数大得连long类型都装不下呢?比如两个100位的整数? 解题思路 在讲解大整数相加之前,先来回顾一下小学数学课,在上小学 阅读全文
posted @ 2020-06-09 20:25 瞬间的花逝 阅读(704) 评论(0) 推荐(1)
摘要:删除k个数字后的最小值 摘自漫画算法: 题目:给出一个整数,从该整数中去掉k个数字,要求剩下的数字形成的新整数尽可能小,应该如何选取被去掉的数字? 其中整数的长度大于或等于k,给出的整数大小可以超过long类型的数字范围。什么意思? 例子: 假设给出一个整数1593212,删去3个数字,新整数最小的 阅读全文
posted @ 2020-06-08 20:40 瞬间的花逝 阅读(1430) 评论(0) 推荐(0)
摘要:寻找全排列的下一个数 摘自漫画算法: 题目:给出一个正整数,找出这个正整数所有数字全排列的下一个树。说的通俗点就是在一个整数所包含数字的全部组合中,找到一个大于且仅大于原数的新整数。 例子: 如果输入12345,则返回12354 如果输入12354,则返回12435 如果输入12435,则返回124 阅读全文
posted @ 2020-06-07 20:33 瞬间的花逝 阅读(653) 评论(0) 推荐(0)
摘要:如何用栈实现队列 摘自漫画算法: 题目:用栈模拟一个队列,要求实现队列的两个基本操作:入队、出队。 解题思路 栈的特点是先入后出,出入一款苏都是在同一端(栈顶)。如图: 队列特点是先入先出,出入元素是在不同的两端(队头和队尾)。如图: 既然我们拥有两个栈,那么可以让其中一个栈作为队列的入口,负责插入 阅读全文
posted @ 2020-06-06 21:33 瞬间的花逝 阅读(320) 评论(0) 推荐(0)
摘要:最小栈的实现 摘自漫画算法: 题目:实现一个栈,该栈带有出栈(pop)、入栈(push)、取最小元素(getMin)3个方法。要保证这3个方法的时间复杂度都是O(1)。 如图: 解法步骤 1、设原有的栈叫作栈A,此时创建一个额外的“备胎”栈B,用于辅助栈A。 2、当第1个元素进入栈A时,让新元素也进 阅读全文
posted @ 2020-06-05 20:20 瞬间的花逝 阅读(271) 评论(0) 推荐(0)
摘要:如何判断链表有环 摘自漫画算法: 题目:有一个单向链表,链表中有可能出现“环”,就像下图这样,那么如何用程序来判断该链表是否为有环链表呢? 方法1 首先从头节点开始,以此遍历单链表中的每一个节点。每遍历一个新节点,就从头检查新节点之前的所有节点,用新节点和此节点之前所有节点依次做比较。如果发现新节点 阅读全文
posted @ 2020-06-04 20:54 瞬间的花逝 阅读(519) 评论(0) 推荐(0)
摘要:什么是桶排序 摘自漫画算法: 桶排序是一种线性时间的排序算法。类似于计数排序所创建的统计数组,桶排序需要创建若干个桶来协助排序。 那么,桶排序中所谓的“桶”,有是什么呢? 假设有一个非整数数列如下: 4.5,0.84,3.25,2.18,0.5 让我们来看看桶排序的工作原理: 桶排序的第1步,就是创 阅读全文
posted @ 2020-06-02 19:37 瞬间的花逝 阅读(265) 评论(0) 推荐(0)