Google面试题解说性能之七:缓存中间结果》的相关内容

google的一道面试题。

这个题目的英文原题是: 引用 Consider a function which, for a given whole number n, returns the number of ones required when writing out all numbers between 0 and n. For example, f(13)=6. Notice that f(1)=1. What ...
by simohayha 2005-10-18 浏览 (23544) 回复 (43) 关键字:

来来来,有兴趣的人便来战这算法题吧:

这题是这次 google 的 top coder 的 850 分例题,做过的同学先不要吱声: 引用假设有这样一种字符串,它们的长度不大于 26 ,而且若一个这样的字符串其长度为 m ,则这个字符串必定由 a, b, c ... z 中的前 m 个字母构成,同时我们保证每个字母出现且仅出现一次。比方说某个字符串长度为 5 ,那么它一定是由 a, b, c, d, e 这 5 个字母构成,不会多一个 ...
by Elminster 2005-08-14 浏览 (23109) 回复 (61) 关键字:

[探讨]通过实例再讨论TDD

在《测试驱动开发》(Kent Beck)的附录B,Kent Beck用了两页纸的篇幅,演示了一次完全以测试驱动的方式,开发计算斐波纳契数列。 先简短的抄一下代码,再谈谈我的看法。 第一个测试与第一次的代码 [code:1]public void testFibonacci() assertEquals(0,fib(0)); } ...
by 庄表伟 2004-07-30 浏览 (21263) 回复 (40) 关键字:

如何进行表达式求值,就如Javascript中的eval

如何对这样的字符串表达进行求值: "55555.04-25+25*(2.5+100.26)"
by swallor 2004-04-29 浏览 (7092) 回复 (16) 关键字:

目前最快的N皇后问题算法!!!

最近老师布置了一道算法题目--N皇后问题。这个算法在本科时已经做过,现在的要求是尽可能的提高算法的执行效率。如果采用传统的办法,用3个数组来记录列、主对角线和次对角线的方式,虽然优化过语句,并且使用对称原则来减少一半的运算时间,但在1.66Ghz的机器上计算16皇后仍需要100多秒。 有的同学使用多线程方式来改进了算法,有效利用了服务器的多个CPU同时计算,好像在4CPU机器上用了17秒。但我觉得 ...
by Craft 2006-04-24 浏览 (5639) 回复 (11) 关键字:

Google面试题解说性能之四:优化无止境

其实在例子二的基础上,我们进一步的分析,可以把缓存10个结果换成缓存100个结果,性能可以得到进一步提升: public class GoogleFn {   private static int MAX = 13200000;   private static int MAX2 = MAX / 10;   private static int MAX3 = MAX2 ...
by cherami 2007-04-06 浏览 (1955) 回复 (0) 关键字:

Google面试题解说性能之二:分析问题

前面我们已经说了字符串运算和数学运算对性能的巨大影响,接下来我们看看分析程序,多思考给我们带来的好处。 如果我们做一个简单的分析就可以知道,在尾数从0到9的连续十个数字中,只有尾数为1的数字的1的个数比其它的数字多,那么我们可以以10个数为单位进行分隔,计算尾数为0的数字包含1的个数,其它的9个值就以此为基础计算: public class GoogleFn {     ...
by cherami 2007-04-06 浏览 (2367) 回复 (0) 关键字:

Google面试题解说性能之一:字符串运算VS数字运算

看到JavaEye上的几个人在讨论算法问题,其中一个就是Google的一个面试题,我也试了一下,而且可能比一般人试得程度更深一些,借这个题目简单的说说几个性能问题。这个是第一个,后面还会继续几个其它的讨论。讨论只是提点一下,主要还是要你自己读源代码并比较不同的实现为什么会有这么大的差别。 注意,程序的运行结果是在JDK1.4.2上的,其它版本的JDK的运行结果可能稍有不同。 先看代码: pu ...
by cs007 2007-12-07 浏览 (121) 回复 (0) 关键字: 程序性能

Google面试题解说性能之一:字符串运算VS数字运算

看到JavaEye上的几个人在讨论算法问题,其中一个就是Google的一个面试题,我也试了一下,而且可能比一般人试得程度更深一些,借这个题目简单的说说几个性能问题。这个是第一个,后面还会继续几个其它的讨论。讨论只是提点一下,主要还是要你自己读源代码并比较不同的实现为什么会有这么大的差别。 注意,程序的运行结果是在JDK1.4.2上的,其它版本的JDK的运行结果可能稍有不同。 先看代码: publi ...
by cherami 2007-04-06 浏览 (5254) 回复 (6) 关键字:

Google面试题解说性能之三:不要小看循环中的任何一个语句

对于任何语言来讲,循环永远是非分布式系统的性能的最大杀手,循环中的任何一个简单的语句对性能都是有影响的,只是影响的大小不同而已。第一个例子中的影响是比较大的,不同的实现方法的时间开销不同,然后这个微小的差异被循环次数放大后就非常的明显(3倍),而第二个例子,其本质是减少了循环执行的次数,虽然总的循环次数是一样的,但是最耗时的操作的执行次数被减少到1/10,所以产生的差异是非常巨大的(8倍)。我们再 ...
by cherami 2007-04-06 浏览 (3155) 回复 (3) 关键字:

数据结构的实现(持续完整中)

节点类 package graph; public class GraphNode { public GraphNode link; public int info; }
by leon_a 2007-06-25 浏览 (1426) 回复 (19)

骑士聚会(《程序员》的算法擂台)

在8×8的棋盘上分布着n个骑士,他们想约在某一个格中聚会。骑士每天可以像国际象棋中的马那样移动一次,可以从中间向8个方向移动,请你计算n个骑士的最早聚会地点和要走多少天,要求尽早聚会,且n个人走的总步数最少,先到聚会地点的骑士可以不再移动等待其他的骑士。 从键盘输入n(0<n<=64),然后一次输入n个其实的初始位置xi,yi(0<=xi,y<=7)。屏幕输出以空格分割的三 ...
by snowind9 2007-09-06 浏览 (1119) 回复 (16)

一些乱七八糟的东西

堆排序(利用最大堆) package heap; import java.math.BigInteger; /** * 最大堆最小堆性质: * 完全二叉树 * left=2i; * right=2i+1; * 最大堆:除根节点外,子节点<父节点 * 最小堆:除根节点外,子节点>父节点 * 堆排序算法复杂度:o(n*lgn) * * @au ...
by leon_a 2007-08-30 浏览 (518) 回复 (7)

lambda 之路

忽然发现好久没写blog了,弄过去充一下数。。这边删掉。
by qiezi 2007-11-09 浏览 (207) 回复 (2)

【总结】◆◆◆◆ECSide2.0RC1目前发现的问题!◆◆◆◆(请看最后回复帖,更新至2007-10-28 某些环境下使用#_EX报错的解决方法~)

偶用了ECSide2.0RC1时间不长·的确有很多亮点~但是,目前只是停留在测试研究阶段~ 主要原因,在Weblogic8.1环境下,很多BUG就出来了~浏览下论坛,发现和我遇到一样问题的人还不少哦 ------------------------------------- 总结如下(Weblogic8.1.6,JDK1.4环境): -------------------------------- ...
by pharaohsprince 2007-09-19 浏览 (1351) 回复 (15)

基于Spindle的增强HTTP Spider

构建于lucene之上的可用的Java开源Spider少之又少,spindle长期没有更新且功能不够完善,故而自己参考其源 代码重新编写了一个可扩展的WebCrawler,本着开源共享,共同进步的想法发布于此,期冀得到大家的批评指正, 有任何意见及建议均可Email联系我(kaninebruno@hotmail.com) 以下代码基于lucene-2.3.1,htmlparser-1.6, ...
by brunoplum 2008-04-01 浏览 (1598) 回复 (7) 关键字: spindle

基于JavaScript的代码自动生成工具

JavaScript Based Code Generator - codegen 工具主页http://sourceforge.net/projects/jbcgen/目的快速生成程序代码, 比如Struts, Spring, Jdbc/Hibernate所有前后台的代码.简单介绍本工具生成代码的思想是读取数据库中表的结构, 使用JavaScript作为脚本语言编写模板, 生成各种代码或者文件, ...
by jejwe 2008-03-06 浏览 (3280) 回复 (2) 关键字:

SPProcPool 0.5 发布

SPProcPool 是一个 linux/unix 平台上的进程池服务器框架,使用 c++ 实现。 在 0.5 版中增加了一个类似 apache worker 的服务器模型。在之前 Leader/Follower 模型的基础上,在每个子进程中使用一个固定大小的线程池来为每个请求服务。这个模型的特点是能够支持较高的并发连接数。 项目主页: http://code.google.com/p/spp ...
by iunknown 2008-01-05 浏览 (413) 回复 (0) 关键字: 进程池 prefork

相关问答

赞助商链接