Algorithm
iteye_17188
这个作者很懒,什么都没留下…
展开
-
使用堆求数组第K大的数
在上一篇博文中,O(n)复杂度,求数组中第2大的数 ,ansjsun同学留下一个非常有价值的回复: ansjsun 写道 大概看了下代码...这么排啊...其实答案应该是堆排...第二大是 O(2*logn) = O(n) 感谢ansjsun提供的思路,下面是我实现的代码 import java.util.Arrays; public class MaxHeap...原创 2013-05-23 23:37:45 · 176 阅读 · 0 评论 -
算法学习、练习资源
http://blog.csdn.net/v_JULY_v 编程之美 编程珠玑 算法导论(太厚了!)原创 2012-09-17 15:27:25 · 76 阅读 · 0 评论 -
大家看看我写的约瑟夫环(O(N))算法有没有问题
约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人会被杀死;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到剩下一个人生存。 n = 9,k = 1,m = 5 【解答】 出局人的顺序为5,1,7,4,3,6,9,2,8。 题目引用了 百度百科 http...2012-09-17 16:36:20 · 87 阅读 · 0 评论 -
最大连续子数组之和
一个有N个整数元素的一维数组( A[0], A[1], ... , A[n-2], A[n-1]),子数组之和的最大值是什么?(要求子数组的元素是连续的) 给人典型的动态规划的感觉。先求到前面i个元素的最大子数组之和max,然后在此基础上考虑i+1的情况,直至n位置。 public class MaxSubArray{ public static void main...原创 2013-04-14 01:01:30 · 82 阅读 · 0 评论 -
O(n)复杂度,求数组中第2大的数
为什么我反对纯算法面试 提及一条算法题目,查找一个数组中第二大的数。 第二大数,直接想到的是,先遍历一次数组,把最大的取出来。然后再遍历一次,把最大的取出来。总耗费时间复杂度O(n + n -1) 还有没有其他O(n)的算法呢? 先挖坑,在填坑,都到凌晨2点了,明天想下 早上起来,想了下,跟上次连续子数组的思维差不多,用两个数字保存最大的两个数值,大的放前面,第二大...2013-04-14 23:23:18 · 428 阅读 · 0 评论