Pollard Rho介绍 Pollard Rho算法是Pollard[1]在1975年[2]发明的一种将大整数因数分解的算法 其中Pollard来源于发明者Pollard的姓,Rho则来自内部伪随机算法固有的循环 Pollard Rho算法在其他因数分解算法[3]中不算太出众,但其空间复杂度Θ(1 ...
分类:
编程语言 时间:
2019-05-26 17:54:39
阅读次数:
244
LeetCode 287. Find the Duplicate Number 暴力解法 时间 O(nlog(n)),空间O(n),按题目中Note“只用O(1)的空间”,照理是过不了的,但是可能判题并没有卡空间复杂度,所以也能AC。 双指针判断环 时间O(n),空间O(1),思路十分巧妙,但是使用 ...
分类:
编程语言 时间:
2019-05-26 15:53:25
阅读次数:
132
题目描述: Given an array nums of n integers where n > 1, return an array output such that output[i] is equal to the product of all the elements of nums ex ...
分类:
其他好文 时间:
2019-05-25 12:51:41
阅读次数:
85
在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。 示例 1: 示例 2: ...
分类:
编程语言 时间:
2019-05-25 09:51:45
阅读次数:
120
1.引言 2.算法优劣分析 3.时间复杂度度量方法 4.常见的算法时间复杂度 5.求解时间复杂度的步骤 6.空间复杂度 1.引言 最近没有写博客,一半是比较忙,较大的一半因素是变懒了,日复一日,我觉得有必要重拾起来,坚持一下,为下一个目标做些事情。 2.算法优劣分析 两个方面 2.1 从数学上证明算 ...
分类:
其他好文 时间:
2019-05-25 09:49:22
阅读次数:
118
题目 补充问题:数组只含0,1,2,对数组排序,要求时间复杂度O(n),额外空间复杂度O(1) 题解 维护三个变量,l,idx,r。左区间[0,l],中间区间[l+1,idx],右区间[idx+1,r]。 初始化l= 1,r=len,idx=0。idx用来遍历数组。 当arr[idx]=1,idx+ ...
分类:
编程语言 时间:
2019-05-24 00:42:31
阅读次数:
130
思路 有四种方法,L,R,L R,只走上面的小三角形 然后组合方案数$2f^2+8f+10$ 然后求f,递推一下就好啦(其实是太麻烦了) 时间和空间复杂度都是$O(n)$ 代码 cpp include include include define int long long using namesp ...
分类:
其他好文 时间:
2019-05-23 10:59:15
阅读次数:
113
算法的概念:解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。一个问题可以有多种算法,每种算法都不同的效率。一个算法具有的特征:有穷,确切,输入,输出,可行 时间复杂度和空间复杂度的概念:算法分析的目的在于选择合适算法和改进算法。 时间复杂度:执行算法所需要 ...
分类:
编程语言 时间:
2019-05-13 12:14:25
阅读次数:
97
题目描述 在 O ( n log n ) 时间复杂度和常数级空间复杂度下,对链表进行排序。 示例 1: 示例 2: 分析 要保证时间复杂度为 O ( n log n ) ,所以想到了归并排序和快排,但是这两个都是针对数组的,用链表来实现就有点难了。 归并排序法:在动手之前一直觉得空间复杂度为常量不太 ...
分类:
编程语言 时间:
2019-05-12 13:59:57
阅读次数:
153
Search Insert Position 问题简介:寻找数组中元素与target的关系 注: 1.target小于数组所有元素时返回0 2.target大于数组所有元素时返回数组长度 3.target不包含于数组元素中,但取值区间在其中,返回对应的索引 举例: 1: 输入: [1,3,5,6], ...
分类:
编程语言 时间:
2019-05-10 13:19:42
阅读次数:
129