摘要: 问题描述:有1000个瓶子,其中有1个装的液体是有毒的,其余的999个装的是无毒的,有10只小白鼠用来测试,请找出装有毒的液体的瓶子。解法1:二分查找因为小白鼠测试的结果只有存活与死亡两种结果,所以每次测试可以分为两类,用二分查找的话,二叉树有十层,最坏情况下,给小白鼠喂药的次数为500+250+125+63+32+16+8+2+1=1001。解法2:将1000个瓶子编号,然后转换成二进制,二进制的位数为10位,如果不过10位,高位用0填充,然后将十进制数第一位为1的喂第一个小白鼠,十进制第二位为1的喂给第二个小白鼠,以此类推。。。最后死亡的小白鼠为1,活着的小白鼠为0,组成的二进制数转换成十 阅读全文
posted @ 2012-04-08 22:57 Java EE 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 一、什么是迭代器我们知道,JVM是用C/C++编写的。在百度百科中,迭代器是解释是迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址。迭代器修改了常规指针的接口,所谓迭代器是一种概念上的抽象:那些行为上象迭代器的东西都可以叫做迭代器。然而迭代器有很多不同的能力,它可以把抽象容器和通用算法有机的统一起来。二、Java中的迭代器百度百科中解释的迭代器是C++中的迭代器,但是JVM的编写语言是C/C++,在Java中,我们知道要使用迭代器,就需要继承Iterator接口,Iterator接口中有一个iterator()方法,根据 阅读全文
posted @ 2012-04-08 21:28 Java EE 阅读(990) 评论(0) 推荐(0) 编辑
摘要: 一、IPCP协议IPCP的配置过程同LCP类似,可参考该篇文章:http://blog.csdn.net/ljp2009012843/article/details/7424048。IPCP所定义的报文类型包括:Configure-Request、Configure-Ack、Configure-Nak、Configure-Reject、Terminate-Request、Terminate-Ack,Terminate-Reject、IPCP定义了三个配置参数:多个IP地址、IP压缩协议和IP地址。二、PAP协议PAP是基于口令的认证方法。被认证方向认证方发送Authenticate-Reque 阅读全文
posted @ 2012-04-08 15:48 Java EE 阅读(1468) 评论(0) 推荐(0) 编辑
摘要: 开始学习Javaweb,看到了反射,现在还没有用上,先把基础的写上来吧package com.april.write; public class Grade { private int num; public Grade() { System.out.println("Grade"); } public Grade(int a) { System.out.println(a); } public Grade(String s, int b) { System.out.println(s + b); } public Grade(String s... 阅读全文
posted @ 2012-04-08 15:32 Java EE 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 问题描述:小明在[1,100]之间猜数字。规则如下:1、如果猜的笑了,会提示小明猜的小了。2、如果猜的大了,只会提示对错,不会提示大小。3、如果有一次猜的大了,以后猜的无论大小,都只会提示错误,不会提示大小。问:至少几次可以猜对数字?第一次应该猜那个数字?解答如下:假设你猜的第一个数字是x。那么最少次数最小也要为x,因为第一次如果猜的大了,会提示你猜的大了,你可以确定正确数字的范围是[1,x-1],所以,你最坏需要再猜x-1次,总共也就是x次。如果你第一次猜小了,会提示你猜的小了,你可以确定正确数字的范围是[x+1,100],接下来,你需要猜第二次,同样面临的是猜大还是猜小,猜第二次的时候,你 阅读全文
posted @ 2012-04-08 15:23 Java EE 阅读(1699) 评论(0) 推荐(0) 编辑