algorithm
文章平均质量分 73
_luozhenj
这个作者很懒,什么都没留下…
展开
-
创新工厂面试题详解:共打了多少鱼
题目: abcde五人打渔,打完睡觉,a先醒来,扔掉1条鱼,把剩下的分成5分,拿一份走了;b再醒来,也扔掉1条,把剩下的分成5份,拿一份走了;然后cde都按上面的方法取鱼。问他们一共打了多少条鱼,写程序和算法。分析:设x为总数,y为最后剩余的数量,则:a: aget = 1/5(x-1), aleft = 4/5(x-1)b:bget = 1/5(aleft原创 2011-11-29 11:18:43 · 582 阅读 · 0 评论 -
n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始,每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。当一个数字删除后,从被删除数字的下一个继续删除第m个数字
题目:n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始,每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。当一个数字删除后,从被删除数字的下一个继续删除第m个数字。求出在这个圆圈中剩下的最后一个数字。分析:我们完全可以用计算机来模拟上述过程,每找到一个要删除的数,需要扫描m次,总共删除n-1个数,所以总得扫描次数为m*(n-1)。这是一个平方级的复杂原创 2011-12-09 13:48:48 · 7664 阅读 · 2 评论 -
最少硬币找零问题
Problem:Give you the coins, and the total amount of money to change,find a solution for this change which minimize the number of coins needed.Example:Coins[] = {1,3,9,10};Money = 15Solution[原创 2011-12-26 12:50:29 · 4915 阅读 · 1 评论 -
把循环小数化为分数
把循环小数化为分数在计算机中,使用float或者double来存储小数是不能得到精确值的。如果你希望得到精确计算结果,最好是用分数形式来表示小数。有限小数或者无限循环小数都可以转化为分数。比如:0.9 = 9/100.333(3)= 1/3(括号中的数字表示是循环节)当然一个小数可以用好几种分数形式来表示。如:0.333(3)= 1/3 = 3/9给定一个有限小数或者无限循原创 2012-01-13 13:35:28 · 3246 阅读 · 0 评论 -
有一串首尾相连的珠子,共有m个,每一个珠子有一种颜色,并且颜色的总数不超过n(n<=10),求连续的珠子的颜色总数为n时,长度最小的区间。
有一串首尾相连的珠子,共有m个,每一个珠子有一种颜色,并且颜色的总数不超过n(n分析:首先要为这个题目构建数据结构,如何表示n种颜色?可以用1到n的数来表示相应的颜色,把它存放在一个数组中。这样,题目就变为有m个数,取值范围1到n,求最小子段,使得该段中包含取值范围为1到n的所有的数。该段中有的数可能重复出现。最理想的情况是,该子段恰好包含n个数。归纳:知道数组arr[1….i-1]中原创 2011-12-06 14:22:07 · 5389 阅读 · 2 评论