2022年8月18日 #

快排

摘要: 快排 例1 给定一个数组arr,和一个数num,请把小于等于num的数放在数组的左边,大于num的数放在数组右边,要求额外空间复杂度O(1),时间复杂度O(N) 解法: 0、我们指定一块区域,称之为小于等于区,在这个区域里面,存储着小于num的数 1、遍历arr数组,如果arr[i]<=num,ar 阅读全文

posted @ 2022-08-18 22:40 老菜农 阅读(88) 评论(0) 推荐(0) 编辑

归并排序

摘要: 归并排序 整体上是递归,左边排好序+右边排好序+merge让整体有序 让其整体有序的过程里用来排外序方法 利用master公式来求解时间复杂度 当然可以用非递归实现 例:无序数组arr[L.....R]排序 master:T(N) = 2*T(N/2)+O(N),为什么是N呢,因为这个数组总长度是N 阅读全文

posted @ 2022-08-18 22:38 老菜农 阅读(43) 评论(0) 推荐(0) 编辑

矩阵变换

摘要: 矩阵 zigzag打印矩阵 假设A、B点指向(0,0) 定义如下变量 int Ar = 0 A的行号 int Ac = 0 A的列号 int Br = 0 B行号 int Bc = 0 B的列号 int endr = matrix.length - 1 最后一行 int endc = mrtrix[ 阅读全文

posted @ 2022-08-18 22:34 老菜农 阅读(126) 评论(0) 推荐(0) 编辑

二叉树的递归套路

摘要: 二叉树的递归套路 假设以X节点为头,假设可以向X左子树和X右子树要任何信息 在上一步的假设下,讨论以X为头节点的树,得到答案的可能性(最重要)也就是以答案结果跟X有没有关系为划分讨论 列出所有可能性后,确定到底需要向左子树和右子树要什么信息 把左子树信息和右子树信息求全集,就是任何一颗子树都需要返回 阅读全文

posted @ 2022-08-18 22:31 老菜农 阅读(31) 评论(0) 推荐(0) 编辑

导航