
算法笔记
数据结构及算法的学习与记录
「已注销」
小白程序员
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构-」树状数组
引入 笔者在做Leetcode时,遇到了一个较为棘手的题目,其题目描述如下所述: 给定一个整数数组 nums,按要求返回一个新数组 counts。数组 counts 有该性质: counts[i] 的值是 nums[i] 右侧小于 nums[i] 的元素的数量。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/count-of-smaller-numbers-after-self 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。原创 2020-07-12 16:16:39 · 230 阅读 · 0 评论 -
递归分治:选择问题
对于给定该元素的n个元素的数组a[0:n-1],要从中找出第K小的数 问题思路:很容易想到该问题的思路为对该数组进行排序,然后选择第k小,但复杂度较高,即使使用较好的排序方法,算法的时间复杂性也为O(nlogn),本题可借助快速排序的思想进行求解,我们只需要确定该元素是不是第K小即可,无需对整个数组进行排序,选择轴值进行交换,看轴值前的个数是否为K-1个,而无需关心其顺序(因为轴值前的都比轴值小...原创 2019-06-29 22:16:26 · 1082 阅读 · 0 评论 -
递归分治:半数集问题
问题描述:给定一个自然数n,由n开始产生半数集set(n) (1)n属于set(n); (2)在n的左边加上一个自然数,但该自然数不超过最近添加的数的一半; (3)按此规则进行处理,直到不能再添加自然数为止。 例如:set(6)= {6,16,26,36,126,136}.。 输入:给出整数n 输出:set(n)的个数 分析: 可较容易得出递推关系:f(n) = 1+ 由此可...原创 2019-06-30 12:38:26 · 3507 阅读 · 2 评论