算法题目收集
kittyjie
这个作者很懒,什么都没留下…
展开
-
交换两个数组使两个数组和的差最小
今天又看见了这个题目,好像上次是李灾跟我说腾讯面他的时候问了这个问题的。想了半天,在网上也看了半天,发现一个不错的算法,先帖出来:^ ^ /* 有两个数组a,b,大小都为n,数组元素的值任意整形数,无序; 要求:通过交换a,b中的元素,使[数组a元素的和]与[数组b元素的和]之间的差最小。*//* 求解思路: 当前数组a和数组b的转载 2009-07-28 13:07:00 · 14974 阅读 · 16 评论 -
约瑟夫环非递归算法分析
【Joseph问题描述】n个人(编号0~(n-1)),从0开始报数,报到(m-1)的退出,剩下的人继续从0开始报数。求胜利者的编号。 【求解思路】我们知道第一个人(编号一定是m%n-1) 出列之后,剩下的n-1个人组成了一个新的约瑟夫环(以编号为k=m%n的人开始): k k+1 k+2 ... n-2, n-1, 0, 1, 2, ... k-2 并且从k开始报0。 现在我们把他们的编号做一原创 2009-10-26 22:51:00 · 5997 阅读 · 2 评论 -
100层楼有一个鸡蛋,如果确定刚好摔碎的那个楼层,最坏情况下最少需要摔多少次?
问题:一种石头,在某一高度扔下就会碎,在这个高度以下不会碎,高度以上一定碎。现在有4个石头,1000层的楼房,需要测定这个石头破碎的高度。求最少多少次一定可以测出来。 分析:这道题我们应反过来考虑,就是用a块石头扔b次至多一定可分辨层数X(a,b)。先从最简装的一块石头考虑,很显然,X(1,1) = 1X(1,2) = 2X(1,3) = 3.X(1,i) = i再考虑二块石头,显而易见X原创 2009-10-27 10:45:00 · 8123 阅读 · 1 评论