摘要: 通过javax.imageio.ImageIO类中的read()函数读取的图片,存放在类java.awt.image.BufferedImage类中。调用BufferedImage类中的getWidth()和getHeight()获取图片的宽度大小和高度大小。 1 import java.awt.image.BufferedImage; 2 import java.io.File; 3 import java.io.IOException; 4 import javax.imageio.ImageIO; 5 import com.Sunday.TankWar.configure.TankW.. 阅读全文
posted @ 2014-03-13 20:52 life91 阅读(725) 评论(0) 推荐(0) 编辑
摘要: 利用JFrame继承java.awt.Container类的函数getInsets()。该函数返回insets类。 1 import java.awt.Insets; 2 import javax.swing.JFrame; 3 4 5 public class FrameTitleBarLength { 6 7 public static void main(String[] args) { 8 JFrame frame = new JFrame("获取标题栏大小"); 9 frame.setBounds(104, 104, 1, 26);... 阅读全文
posted @ 2014-03-13 20:40 life91 阅读(2210) 评论(0) 推荐(0) 编辑
摘要: 题目:编写一个函数,计算字符串中表达式的值,参数中只包含计算符:+,-,*,/等。例如,str=”10+50+2*6/3”,result=64。 解析: 考虑算术表达式计算规则:同优先级操作符之间,从左到右计算;高优先级操作符的计算要早于低优先级操作符的计算;加减操作符优先级低于乘除操作符优先级;括号内的算术表达式的优先级高于括号外的乘除操作符的优先级。 利用两个辅助栈来存储结果。一个用于存储数值,一个用于存储操作符。考虑算术表达式的计算过程(从左往右计算,先计算高优先级操作符),因此表达式字符串逆序压入栈中。由于考虑栈存储的特点以及计算表达式的顺序问题,需要逆序的将数值和算术符压入... 阅读全文
posted @ 2013-11-01 15:11 life91 阅读(988) 评论(0) 推荐(0) 编辑
摘要: 原始版本的大数相乘地址:http://www.cnblogs.com/life91/p/3389890.html 在原来的版本中,整数相乘与小数相乘是分开的。其中,在计算小数时,需要将数值与小数点进行分割。在本次版本中,整数和小数在一次计算中进行处理。本版本中对原始版本中的几个BUG进行处理: 1.小数末尾出现的无效0。例如,”0.123400”->“0.1234” 2.对于两个均是小于0的小数相乘,需要在结果中的整数部分存放’0’。例如,0.12*0.4=0.048 参考小数相乘模型: 2.5 × 1.2 --------------------数值上标数值表示进位值... 阅读全文
posted @ 2013-10-30 18:57 life91 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 上一篇的blog地址为:http://www.cnblogs.com/life91/p/3313868.html 这几天又参加了一个家公司的笔试题,在最后的编程题中竟然出现了去哪儿网开发的第一题,也就是简化路径值。但是这次做题后,我发现我上次写的那个简化源码有很多问题,并且在这次笔试过程中也没有答对。闲话说完了,进入正题。 上次源码出现的BUG: 1.将连续重复的多个’/’字符视为一个。例如,”/abac/def//////ef”->”/abac/def/ef”。 2.根目录的开始字符为’/’,并且根目录的上级目录以及上上级目录都是本身。例如,”/../../../”->”/”。  阅读全文
posted @ 2013-10-30 15:45 life91 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 上一篇有关堆排序的源码是从STL标准库中抽出来,但是源码有点让我混乱。最近闲来无事,再写一篇有关堆排序的博客,并附上简单的过程描述。 (参考书籍:《算法引论——一种创造性方法》4.7和6.4.5节) 堆排序最坏情况下的运行时间是O(nlogn)。堆排序中建堆方式有两种: 1.自顶向下建立大根堆。简单点说,就是从无到有插入元素到堆中。这样可以有效地维护了大根堆的性质,即大根堆是由满足大根堆性质的子堆构成。 2.自底向上建立大根堆。一般都是从堆存储数组的一半的位置开始递减比较。需要注意的是,在每次比较后,需要调整子堆来满足大根堆的性质。有点类似于从建好的大根堆中移除元素之后的调整。(这... 阅读全文
posted @ 2013-10-29 09:16 life91 阅读(435) 评论(0) 推荐(0) 编辑
摘要: 最近笔试出现的一道概率问题:给定一个随机函数rand_m()能按1/m的概率生成数字z(0≤z limits );11 12 return tmp1;13 } 我以前的时候百思不得其解,为什么这么写?而不是这样写: 1 int rand_c( int limits ) 2 { 3 int tmp0 = 0; 4 int tmp1 = 0; 5 int tmp2 = 0; 6 7 do { 8 tmp0 = rand3(); 9 tmp1 = rand3();10 tmp2 = rand3();11 ... 阅读全文
posted @ 2013-10-28 15:21 life91 阅读(515) 评论(0) 推荐(0) 编辑
摘要: 今天去参加腾讯笔试,其中有一道选答题:大数相乘问题。在编写代码的过程,我突然发现以前写的原始的大数相乘是一个很简陋的源码。所以,下午找个时间重新写了一份。 大数相乘:两个超出整型限制的两个数相乘,例如,两个50位的正数相乘。 最简陋的方式,就是按照乘法的计算过程来模拟计算: 1 2 × 3 6 ---------- ---- 其中,上标数字为进位数值。 712 --- 在这个计算过程中,2×6=12。本位保留2,进位为1.这里是一个简单的计算过程,如果在高位也需要进位的情况下,如何处理? 3 6 ----------- 413 2 开始比较... 阅读全文
posted @ 2013-10-26 19:18 life91 阅读(4342) 评论(0) 推荐(0) 编辑
摘要: 原文章网址:http://baiy.cn/doc/cpp/inside_exception.htmC++异常机制的实现方式和开销分析白杨http://baiy.cn在我几年前开始写《C++编码规范与指导》一文时,就已经规划着要加入这样一篇讨论 C++ 异常机制的文章了。没想到时隔几年以后才有机会把这个尾巴补完 :-)。还是那句开场白:“在恰当的场合使用恰当的特性” 对每个称职的 C++ 程序员来说都是一个基本标准。想要做到这点,就必须要了解语言中每个特性的实现方式及其时空开销。异常处理由于涉及大量底层内容,向来是 C++ 各种高级机制中较难理解和透彻掌握的部分。本文将在尽量少引入底层细节的前提 阅读全文
posted @ 2013-10-25 20:08 life91 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 题目:如何设计一个每秒百万级访问量的互联网服务器,每个服务器均包含数据计算和I/O操作。 提示:互联网服务器是一个7*24*365*N的运行程序,类似于一种远程计算机结构。用户在服务器端的信息时,实际上就是把服务器端的信息通过网络复制到客户端上,并通过客户端的相关软件展现出来。 考虑因素(参考书籍《深入理解Nginx模块开发与架构解析》): 1. 性能,包括网络性能,单次请求的延迟性,网络效率; 2. 可伸缩性:指架构可以通过添加组件来升级服务,或者允许组件之间具有交互功能。 3. 简单性 4. 可修改性,包括可进化型,可扩展性,可定制性,可配置型,可重用性。 5. 可见性 ... 阅读全文
posted @ 2013-10-19 08:51 life91 阅读(428) 评论(0) 推荐(0) 编辑