来自网易的一道看似简单的笔试题题目:要求以线性时间复杂度实现斐波那契数列。1,1,2,3,5,8,13,21,34,55,89,。。。。。。众所周知的斐波那契实现方式为递归实现:intfeb1(intn){t1++;if(n==0||n==1)return1;returnfeb1(n-1)+feb1(n-2);}当n=25时,迭代次数为242785。关于其复杂度的解释比较麻烦,详见http://www.cnblogs.com/python27/archiv
系统 2019-08-29 22:03:24 1802
说了那么多理论,我们来看看怎样使用抽取方法来重构遗留系统。如前所述,重构的过程首先是阅读程序代码,边阅读边整理程序。将功能相对独立的代码段放在一起,在前面加上注释。调整一些程序的顺序,将相关的代码尽量放在一起,但要保证程序执行的结果不会发生改变。比较典型的,将变量的定义与使用变量的代码放在一起。这个步骤比较实用,因为许多的遗留系统,其代码都有一个坏毛病,就是在程序开始时定义一大堆变量,但要弄清这些变量都用来做什么,却十分困难。边读边调整,将变量的定义逐渐迁
系统 2019-08-29 21:59:02 1802
原文地址:http://www.artima.com/weblogs/viewpost.jsp?thread=172953第一,将文件放到jre\lib\ext
系统 2019-08-29 21:57:48 1802
今天处理了一个日期选择器的ie和ff的兼容问题,本来这种情况就很难找错误,找了好久才把错误定位到js中创建元素的方法document.createElement(),这个方法在ie下支持这样创建元素varinputObj=document.createElement("");但是这样的情况在
系统 2019-08-12 09:30:37 1802
通过上班闲暇时间开始学习一门脚本语言--python,很早前就有老同学建议学习一门脚本语言对未开开发会很有帮助,最初考虑选择哪门语言的时候在python和ruby中纠结了一下,最后选择python主要是感觉它的使用用户更广。开发环境我是在windows平台下开发的,python版本官方推荐的是2.7和3.3,我选择了后者,附上下载地址。事实上,对于新手来说,2.x和3.x确实有一些改变,如果你用2.x的帮助文档在3.x下开发可能会遇到一些麻烦(比如prin
系统 2019-08-12 09:30:29 1802
也许你听说过Hibernate的大名,但可能一直不了解它,也许你一直渴望使用它进行开发,那么本文正是你所需要的!在本文中,我向大家重点介绍Hibernate的核心API调用库,并讲解一下它的基本配置。看完本文后,我相信你对什么是ORM(对像/关系映射)以及它的优点会有一个深刻的认识,我们先通过一个简单的例子开始来展现它的威力。正如一些传统的经典计算机文章大都会通过一个“hello,world”的例子开始讲解一样,我们也不例外,我们也将从一个相对简单的例子来
系统 2019-08-12 09:30:07 1802
在软件构建过程中,某些对象的状态如果改变,其行为也会随之而发生变化。如何在运行时根据对象的状态来透明地更改对象的行为?而不会为对象操作和状态转化之间引入紧耦合?允许一个对象在其内部状态改变时改变它的行为。从而使对象看起来似乎修改了其行为。一,结构:二,示例代码:publicinterfaceState{publicvoidhandle(Contextcontext);}classConcreteStateAimplementsState{publicvoi
系统 2019-08-12 09:29:27 1802
最近想找几本电子书看看,就翻啊翻,然后呢,找到了一个叫做周读的网站,网站特别好,简单清爽,书籍很多,而且打开都是百度网盘可以直接下载,更新速度也还可以,于是乎,我给爬了。本篇文章学习即可,这么好的分享网站,尽量不要去爬,影响人家访问速度就不好了http://www.ireadweek.com/,想要数据的,可以在我博客下面评论,我发给你,QQ,邮箱,啥的都可以。这个网站页面逻辑特别简单,我翻了翻书籍详情页面,就是下面这个样子的,我们只需要循环生成这些页面的
系统 2019-09-27 17:56:54 1801
Python详解基本语法概要:函数的返回值是函数重要的组成部分。函数的根本在于实现程序的部分功能,所以很多时候我们需要将函数执行后的结果返回给程序再由程序作出进一步的操作。可以说是函数的返回值令函数与函数之间,函数与主程序之间更加紧密的联系起来。函数的返回值在Python的函数中都有一个返回值,默认为None。也可以使用returnvalue语句来定义一个且只能定义一个可为任意类型的返回值。但是我们能够返回一个序列类型的对象,来实现返回多个值的效果。Exa
系统 2019-09-27 17:56:49 1801
在打包镜像时,centos原生镜像中python版本为2.7。如果我们的服务基于python3版本,则需要手动安装。在安装时,有一点需要注意的是:由于系统中某些服务以来python2.7版本,因此不要去删除或修改系统中python的默认版本,否则会产生不可预知的后果。下面给出一个python3镜像打包示例:#baseimageFROMcentos:7.2.1511#installrelatedpackagesandpython3ENVENVIRONMENT
系统 2019-09-27 17:56:38 1801