算法
fxly0401
这个作者很懒,什么都没留下…
展开
-
(转)rand5()构造rand7()
给一个方法,比如 rand5(), 它能够等概率生成 1-5 之间的整数。 所谓等概率就是1,2,3,4,5 生产的概率均为 0.2 。现在利用rand5(), 构造一个能够等概率生成 1- 7 的方法。这里有两个特别重要的点,一是 如果 rand5() + rand5(), 我们能够产生一个均匀分布的 1 - 10 吗? 答案是否定的。比如对于 6来讲(4+2, 2+4, 3+3),它被生成...原创 2012-10-31 13:44:02 · 271 阅读 · 0 评论 -
(转)求一个数字数组里的最大连续数字的个数
问题:求一个数字数组里的最大连续数字的个数。 比如 3, 4, 4, 4, 2, 2, 3, 4 => return 3。此题为google的面试题。分析:设置两个变量:全局最大连续数字个数:maxSucc; 以及局部连续数字个数: temp。从第二个数字开始,如果当前数字比前一个数字大1,则 temp++,遇到不满足条件的,则比较maxSucc 和 temp, 如果temp 比...原创 2012-10-31 14:17:07 · 598 阅读 · 0 评论 -
归并排序
归并排序的时间复杂度为 T(n)=T(n/2)+T(n/2)+2n-1 = O(nlogn),该算法优于选择排序、插入排序和冒泡排序。import java.util.Arrays;public class MergeSort { /**@author liuwei * @param args */ public static void mergeS...原创 2012-09-07 13:05:33 · 86 阅读 · 0 评论 -
堆排序
Heap类:import java.util.ArrayList;public class HeapSort { private ArrayList list = new ArrayList(); public HeapSort(Integer[] list){ for(int i=0;i 0){ int parentIndex = (currentIndex-...原创 2012-09-08 14:10:58 · 93 阅读 · 0 评论 -
如何用一个语句判断一个整数是不是二的整数次幂?
算法:如何用一个语句判断一个整数是不是二的整数次幂?int ispow2(int x) { return x && !(x & (x-1)); }注:!(x & (x-1))可判断非0整数是否是2的整数次幂,加上x && 可判断0....原创 2012-10-04 16:11:39 · 264 阅读 · 0 评论