自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (2)
  • 收藏
  • 关注

原创 计算数自然数序列中的1和2

问题:    给定一个自然数N,计算1,2,3...N中,出现1和2的数量。比如1,2,3...10,一共出现了3次,1,2,3...12,一共出现了7次。 思路:    比如计算54321,可以先计算50000,再计算50001-54321中1和2的个数,而后者又可以看成计算4321中1和2的个数,于是简化了问题。其中计算50000的时候,可以计算49999中有多

2014-10-22 22:02:06 1442

原创 计算质因数

问题:    计算一个数的质因数个数,1不是质因数。比如20=2*2*5,2、2、5就是20的三个质因数。思路:    从小到大,找到N的因数M,递归查找M和N/M的的质因数。

2014-10-22 21:57:26 850

原创 把数字串变成2012玛雅密码

问题:    玛雅密码是一串由0、1、2组成的密码,这串数字中如果包含2012,就可以解开末日的大门。给定一串由0、1、2组成的字符串,只有相邻的数字可以交换,求通过最少多少次变换可以得到玛雅密码,并给出这串密码。 思路:    经过很久很久的尝试,放弃了一次性拼凑2012的想法,改用预处理得到所有数字范围中符合玛雅密码的部分,再递归遍历给定的数字串,得到该串所有可

2014-10-22 21:57:23 1078

原创 把数字拆分成2的幂的和

问题:    任何数都能分解成2的幂,比如  7=1+1+1+1+1+1+1    =1+1+1+1+1+2    =1+1+1+2+2    =1+2+2+2    =1+1+1+4    =1+2+4共有6种分解方式,设f(n)为任意正整数可能分解总数,比如f(7)=6写个算法,输入数,求出其分解的总数。 

2014-10-22 21:55:23 3294

原创 将博客搬至CSDN

鉴于iteye关注人有点少,把博客转到csdn,欢迎大家关注和讨论。

2014-10-21 22:26:38 87

计算质因数

问题:    计算一个数的质因数个数,1不是质因数。比如20=2*2*5,2、2、5就是20的三个质因数。思路:    从小到大,找到N的因数M,递归查找M和N/M的的质因数。def count_prime(number, expr): count = 0 for i in range(2, number/2 + 1): if numbe...

2014-10-18 10:53:58 391

把数字拆分成2的幂的和

问题:    任何数都能分解成2的幂,比如  7=1+1+1+1+1+1+1    =1+1+1+1+1+2    =1+1+1+2+2    =1+2+2+2    =1+1+1+4    =1+2+4共有6种分解方式,设f(n)为任意正整数可能分解总数,比如f(7)=6写个算法,输入数,求出其分解的总数。 思路:    先按照树形结构,把一个数...

2014-10-18 10:47:28 1266

把数字串变成2012玛雅密码

问题:    玛雅密码是一串由0、1、2组成的密码,这串数字中如果包含2012,就可以解开末日的大门。给定一串由0、1、2组成的字符串,只有相邻的数字可以交换,求通过最少多少次变换可以得到玛雅密码,并给出这串密码。 思路:    经过很久很久的尝试,放弃了一次性拼凑2012的想法,改用预处理得到所有数字范围中符合玛雅密码的部分,再递归遍历给定的数字串,得到该串所有可能的变换,并比...

2014-10-16 22:43:09 194

原创 计算数自然数序列中的1和2

问题:    给定一个自然数N,计算1,2,3...N中,出现1和2的数量。比如1,2,3...10,一共出现了3次,1,2,3...12,一共出现了7次。 思路:    比如计算54321,可以先计算50000,再计算50001-54321中1和2的个数,而后者又可以看成计算4321中1和2的个数,于是简化了问题。其中计算50000的时候,可以计算49999中有多少个1和2,...

2014-10-16 22:30:10 200

原创 四堆抽牌如何获胜

问题描述:    发四堆扑克,一堆是2张,一堆是5张,一堆是8张,一堆是10张。排列如下:  2 5 8 10  两个人,轮流拿牌。每次只能在一堆里面拿,无论拿几张都可以,最多一次可以把任意一堆牌全拿走。经过N轮拿牌过后,拿最后一张牌的人输。 解决思路:1. 从最简单的情况开始考虑,在简单的情况下可以取胜,才能在更复杂的情况取胜;2. 我能否取胜,取决于“我本次拿走...

2014-03-19 19:33:21 652

原创 html5与css3学习实践--为页面元素增加样式的基本方法

有了网页的骨架,还缺少网页元素的渲染,也就是CSS样式表。一般需要把CSS样式配置独立成文件,然后在网页的头部引用CSS样式文件。引用代码如下: <head> <meta content="text/html; charset=utf-8" > <link rel="stylesheet" type="text/css"...

2014-02-19 20:52:33 157

原创 html5与css3学习实践--基础的内容划分标签

从位置上划分出网页的区域以后,就需要用到网页的内容标签了,比如<article>、<aside>、<nav>、<p>、<h1>等。网页中,这些内容标签和位置标签交错在一起,比如像下面这样: <body> <header> <h1&gt

2014-02-19 09:56:09 154

原创 html5与css3学习实践--网页主体的位置划分标签

网页中的body是主体内容,按照html5的标准,可以按照<header>、<footer>、<section>来进行布局上的划分。一个基本的结构可以是这样:  <body> <header> <h1>Body Title</h1>

2014-02-18 13:30:29 242

原创 html5与css3学习实践--网页的最简结构

    一个网页的基础结构 <!DOCTYPE html><html> <head> <meta charset="utf-8"> <titile>Test Title</title> </head> &l

2014-02-18 10:08:27 166

原创 【讨论帖】Mockito测试使用了TaskExecutor、FutureTask的类

 在Spring框架下写了一个东西,用到了org.springframework.core.task.TaskExecutor这个接口,用它来执行一个FutureTask实例,但编写单测的时候遇到个问题。     我按照惯常的套路编写单测: @ResourceTaskExecutor taskExecutorReal; // 从上下文中得到的实际的TaskExecuto...

2013-06-03 15:25:32 2303

原创 求最长升序序列

求一个序列的最长的升序序列,比如数组array[10]。 我的想法:1. 以变量max_length记录最长的序列长度,以loc记录最长序列的位置,初始化都为0。2. 设置变量temp_length=0,temp_loc=0,遍历每个元素array[i]{      如果array[i]<=array[i+1],temp_length++;      否则{   ...

2012-04-07 22:14:47 201

原创 最后拿硬币的人输

两个人轮流拿10个硬币,每次可以拿1或2或4个,拿到最后的那个人为输,问:怎样才能必胜? 思路是从最简单的情况概况,找到一定的规律。 总结如下,其中A、B代表两个人,数字代表对应人选择前剩下的硬币数,第一行的解释是“有1个硬币留给了A,A拿了一个,剩下0个硬币留给了B,A就输了”: A      B      对A的结果1      0      lose2    ...

2012-03-29 19:57:15 574

原创 JSpider学习七——调试SpiderImpl的crawl

从main的第一句,走到最后,进入JSpider的start方法中,调用SpiderImpl的crawl。    前面对crawl做了分析,这里不重复流水了。context.getEventDispatcher().dispatch(new SpideringStartedEvent(context.getBaseURL()))将Spider开启事件派发出去,然后进入context.getAg

2012-03-23 21:31:34 963

原创 JSpider的调试

经过了毕设、换工作等等的事情,重新来看看这个JSpider,希望能完成对它的学习。    重新看JSpider,有了新的思路。打算从一个具体的应用实例入手,从调试过程理解它的原理和设计。    (1) 回顾下怎么在eclipse里面导入JSpider。New-->Project-->Java Project from Existing Ant Builder。    (2) 配

2012-03-23 20:14:52 1529

原创 最长的滑道

问题: Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道一个区域中最长的滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子 1   2   3   4   5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 1...

2012-03-19 19:53:40 132

原创 最长的滑道

问题:Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道一个区域中最长的滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子1   2   3   4   516 17 18 19 615 24 25 20 714 23 22 21

2012-03-02 22:37:06 2181

原创 求一个字符串中的最长回文前缀

如题,需要说明的是这个与我的上一篇博客是不一样的,这个求的是前缀,多了个限定条件。我的思路,1. 首先可以按照上一篇的博客来解,但显然浪费了。2. 我们需要充分利用前缀这个条件,我的第一反应就是用栈,但是想来想去也没有好办法,后来想想,如果是回文前缀,那么一定会在回文的另一端出现字符串的首字母。于是,a. 遍历字符串,找到所有与首字母相同的位置,存入数组ends,复

2012-03-02 20:42:20 5127 3

原创 求一个字符串中的最长回文序列

如题,下面说说我的思路,我想到的算法如下:a. 遍历字符串,找到所有相邻两个字母相同的位置(比如aa),加入到链表centers1中,找到所有隔一个字符相同的位置(比如aba),加入到centers2中,复杂度O(N);b. 设置最大回文的长度maxLength=2和回文的起始位置start=centers1[0];c.遍历centers1,对每一个位置进行如下操作:

2012-03-02 19:46:28 3127

原创 网页去重问题

问题:假设有10亿网页已经被我们存下来,并提供如下信息:网页全文(即网页的源码)、全文长度、网页正文(即网页中提取的主体文字)、正文长度,以及其他网页提取物等,现在希望去掉其中的重复网页,请提出可行的方案,计算出每个网页对应的重复度,你可以自己对网页重复下定义,也可以提出需要哪些更多的网页提取物来实现更好的去重复方案。我的思路:1. 根据网页正文做hash表。a. 网页

2012-03-02 18:31:51 1412

原创 大量URL去重

[size=medium]问题:[i]有大量的字符串格式的URL,如何从中去除重复的,优化时间空间复杂度[/i]我的思路,1. 将URL存入hash链表,[b]每个URL读入到hash链表中[/b],遇到重复的就舍弃,否则加入到链表里面,最后遍历得到所有不重复的URL。空间复杂度M,时间复杂度为O(N+N/M),M为不重复的URL,N为总URL数,但是M无法预测,所以存在风险,...

2012-03-01 20:05:30 348

原创 找出数组中和为N的所有配对

[i][size=small]有一个集合a,里面有n个正整数,乱序排列。给定一个正整数N,求,a中任意两个数相加等于N,共有哪些种组合情况。例如,集合为{1,3,44,2,4,5,54,222,368} N=6,则结果集为{1,5},{2,4} [/size][/i][size=medium]我的思路,[list]1. 用N减去每个元素得到另一个数组b,[b]嵌套循环[/b]找到...

2012-03-01 19:43:38 1397

一道算法题——从数据流中随机去m个数

题目:有一个很大很大的输入流,大到没有存储器可以将其存储下来,且只输入一次,如何从这个输入流中随机取得m个记录。我的思路:首先,存储开始的m条记录,存放于数组result[m]中;然后,假设有n条记录,每一次读取记录后,取随机数x,0<= x < n;判断随机数,    当0<= x < m时,我们将记录存放到result[x]中;    当m<= x < n...

2012-03-01 15:39:06 256

原创 一道算法题——合并有交集的集合

题目如下,给定一个字符串的集合,格式如: {aaa  bbb  ccc}, {bbb   ddd},{eee   fff},{ggg},{ddd   hhh} 要求将其中交集不为空的集合合并,要求合并完成后的集合之间无交集,例如上例应输出 {aaa  bbb  ccc  ddd  hhh},{eee   fff}, {ggg} (1)请描述你解决这个问题的思路; (2)

2012-02-29 22:46:12 4453 2

原创 JSpider学习六 —— DispatcherThread和WorkerThread

DispatcherThread--------------------------------------------------------------------------------    DispatcherThread继承了java.lang.Thread类,包含了两个成员:    protected DispatcherTask task; // 分派器任务实例

2012-02-13 12:56:49 1817

原创 JSpider学习五 —— WorkerThreadPool

之前提到SpiderImpl的两个重要成员spiders和thinkers,他们都是WorkerThreadPool类的实例,下面分析这个类的代码。    该类继承了java.lang.ThreadGroup类,有三个成员:    /** Task Dispatcher thread associated with this threadpool. */    protected Di

2012-02-10 09:54:57 1569

原创 JSpider学习四 —— Spider

在代码里Spider是一个接口,其中只包含public void crawl(SpiderContext context)这一个方法,含义比较明显,在给定的上下文中爬行。    代码里只有一个实现类SpiderImpl,成员如下:    WorkerThreadPool spiders,爬虫线程池;    WorkerThreadPool thinkers,思考者线程池。初始化方法

2012-02-09 21:51:29 1636

原创 JSpider学习三 —— 启动代码分析

jspider.sh----------------------------------------------------------------------------------------------    JSpider从jspider.sh文件运行,在该shell脚本中指定了如下几个变量:    JSPIDER_HOME,JSpider的主目录,通过该目录去寻找conf/、

2012-02-09 18:18:21 2463

原创 JSpider学习二 —— 应用示例

首先学习JSpider的第一个应用,Check Errors,用来检查网页上的链接以及迭代出来的其他链接是否有效。    使用命令JSpider [url] [CheckErrors]。这里url指要检查的链接,CheckErrors指实现该功能的配置文件目录。    可见,使用的关键就是配置文件的编写。    配置文件一般放在conf/下面。实现CheckErrors功能的配置文件就

2012-02-09 17:05:14 3918 1

原创 JSpider学习一 —— 基础

为了更好的掌握Java,我开始学习JSpider这个开源软件,希望能从它的设计和实现上,更清楚的认识Java,了解更多Java的设计和实现技巧,以点带线,以线带面,去了解更多自己需要学习的东西。   作为开始,我下载并阅读了JSpider User Manual的前半部分,下载了源码。    根据文档的说明编译源码,遇到了错误,参照http://blog.nunnun.jp/Jspider

2012-02-09 14:41:25 3742

云计算关键领域安全指南

这是一个讲解云安全相关技术的文档,值得下载。

2011-01-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除