![](https://img-blog.csdnimg.cn/20190927151043371.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法笔记
数据结构及算法的学习与记录
「已注销」
小白程序员
展开
-
数据结构-」树状数组
引入笔者在做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 · 179 阅读 · 0 评论 -
递归分治:选择问题
对于给定该元素的n个元素的数组a[0:n-1],要从中找出第K小的数问题思路:很容易想到该问题的思路为对该数组进行排序,然后选择第k小,但复杂度较高,即使使用较好的排序方法,算法的时间复杂性也为O(nlogn),本题可借助快速排序的思想进行求解,我们只需要确定该元素是不是第K小即可,无需对整个数组进行排序,选择轴值进行交换,看轴值前的个数是否为K-1个,而无需关心其顺序(因为轴值前的都比轴值小...原创 2019-06-29 22:16:26 · 996 阅读 · 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 · 3364 阅读 · 2 评论