摘要:
剑指 Offer 27. 二叉树的镜像 请完成一个函数,输入一个二叉树,该函数输出它的镜像。 使用递归的方法: 先对左子树递归调用镜像 再多右子树递归调用镜像 最后在解决本节点左节点和右节点的交换位置 代码如下: # Definition for a binary tree node. # clas 阅读全文
摘要:
204. 计数质数 统计所有小于非负整数 n 的质数的数量。 等我学了《数论》,我就来填筛选法的坑!这里先背一下代码!! 要的到n以内的全部素数,必须要把不大于根号n素数的倍数全部剔除,剩下的就是素数: 2是素数,2留下,2的倍数全部剔除;3是素数,3留下,三的倍数全部剔除... class Sol 阅读全文
摘要:
给定两个整数数组a和b,计算具有最小差绝对值的一对数值(每个数组中取一个值),并返回该对数值的差 示例: 首先需要对两个数组进行排序; 排序之后 a = [1, 2, 3, 11, 15] b = [8, 19, 23, 127, 235] 定义两个指针i和j分别用来扫a和b 当a[i]和b[j]时 阅读全文
摘要:
性能测试的必要性: 在分布式应用中用户数量是不确定的,用户使用的场景也是不确定的,用户少可能没问题,但是用户多了,就可能会有各种各样的问题 我们要模拟用户数量增加的状态,给系统加负载,然后进行性能测试,从而判断[并发用户数量],[CPU],[内存],[硬盘I/O] 三个重要的指标[用户多并发],[稳 阅读全文
摘要:
快速排序,我好像暂时只会双指针交换法,那种挖坑填数法晚点再研究吧。 本质也是分治+递归,这里分治是相对于一个分裂点 因此,快速排序的步骤要比归并排序多一个:分拣 先分拣,在分裂,递归的调用重复这样一个过程 代码如下: def quickSort(nums): # 递归调用自身进行分裂的函数,需要传入 阅读全文
摘要:
终于到归并了吗?归并排序本质上是一个递归的过程,递归到底层,然后按照顺序再向上层归并,这是一个典型运用到分治+递归的思想的排序 算法的核心思想:分治+递归 分治:整个列表是否有序,取决于列表是否局部有序,因此将列表不断分裂成更小的区间,每个区间都依赖于更小的区间的有序,当所有的局部区间有序了,整个列 阅读全文
摘要:
这个我们跳过,好不好 答案是不行啊,学着看一个乐呵吧。 不过从这里开始,让我第一次接触一个排序中的分治概念吧,后面归并排序和快速排序都需要,谢尔排序本质上就是一个对子列表的一个插入排序 当每一个子列表逐渐有序时,最后维持整个列表的有序,付出的代价也会更小 谢尔排序需要一个gap,这个就是每个子列表中 阅读全文
摘要:
整理过扑克牌吗?这个排序和你整理扑克牌完全一样! 我们总是挑选一张牌作为基准,然后决定剩下的牌该插到对于这张牌来说哪个合适的位置: 从第二张开始,如果牌比他小,那么第二张牌就插到他的前面,如果比他大,那就先不变 从第三张开始,一次与前面两张比较,如果都比第三张牌大,那之前两张牌总是要往后捣腾位置,然 阅读全文
摘要:
选择排序: 选择排序有序排列部分是维持在列表的前段的,这一点很重要,因为这决定了我们从哪个元素开始假设这一趟比较交换的最小值。 选择排序的思想: 总是假设未排序部分的第一个元素为最小值,然后遍历这个元素之后的剩下的元素,不断更新未排序部分最小值存在的位置,这趟比较结束了,就把找到的最小值和第一个元素 阅读全文
摘要:
冒泡排序,这个作为萌新入门排序时,最最最基础(没有之一)的排序方法,但是本蒟蒻果冻居然时隔四年之后全忘了,甚至有点无法理解(????),所以一下全部内容都是本蒟蒻果冻的个人理解。 给出一个列表:[3, 2, 9, 7, 4, 8, 1],怎么变成有序排列? 冒泡排序是一种基于[比较]-[交换]的排序 阅读全文
摘要:
给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。 你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。 注意: 合并必须从两个树的根节点开始。 来源:力扣(L 阅读全文
摘要:
剑指 Offer 39. 数组中出现次数超过一半的数字 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]输出: 2 限制: 1 <= 数组长度 <= 5 阅读全文
摘要:
50. Pow(x, n) 实现 pow(x, n) ,即计算 x 的 n 次幂函数。 示例 1: 输入: 2.00000, 10输出: 1024.00000示例 2: 输入: 2.10000, 3输出: 9.26100示例 3: 输入: 2.00000, -2输出: 0.25000解释: 2-2 阅读全文