接上回,发现理解错了题意,应该是做一个可以给学生出题,并且判断对错的程序。稍微修改了下。
目前实现的功能:
- 随机出10道题目,供同学练习
- 如果同学做完之后不满意,可以重新来过
- 程序记录考试完成的时间,以及正确错误的次数
2016年03月21日20:48:25
接上回,发现理解错了题意,应该是做一个可以给学生出题,并且判断对错的程序。稍微修改了下。
目前实现的功能:
2016年03月21日20:48:25
题目要求有整数和分数的混合输入(不排除加上小数的混合输入),而且要求运算结果也需要为“真分数”的方式给出。好像没有现成的数据结构可以用,因此,这里先定义一个数据结构:Number
Number 成员变量:
此外还包括一些基本的函数,比如分母分子的约分,分母是否为0,定义了Number的加减乘除操作,以及覆盖的toString方法等等。为了与正常四则运算的”/“区分,这里引入了一个”$”符号,来表述Number之间的除法运算。
标准化
所谓标准化,就是把四则运算所在的字符串中的括号,小数点等不是数字,又不是运算符的字符。消除的方法是递归调用。
有了后台的算法,做个图形化界面就不是难事儿了
先这样子…回寝室再写
2016年03月20日22:37:16
上一次用linux服务器还是半年前,那次是非maven的项目。记得大概流程是把项目所需要的jar包,还有项目生成的target下的class文件上传到服务器,然后用一个sh文件运行。
1 | APP_HOME=/root/autocrawler |
现在换成了Maven的工程因为项目所需要的jar包被maven管理,所以一时还手忙脚乱不知道怎么做好。好不容易成功了,现在总结下免得下次再用的时候忘记了。
##接上回,上次处理一个日志文件,
如果用远程数据库的话需要43分钟;
如果用远程redis的话需要10分钟;
如果用本地redis的话,处理8个日志文件只需要…34秒!?
而且没有报那种cannot cast to 的错误(我用了类文件到class文件的转换)。
我了个大去..这个太厉害了…
2016年1月12日12:01:19
最近在做一个分析日志的程序。
一开始是用MySQL做的,远程读取数据库,很慢。是这样的,爬虫程序没30分钟可以产生8个日志文件,每个日志文件10M,用mysql来处理的话,我处理一个日志文件需要43分钟。。太坑爹了。
然后想到了内存数据库Redis,正好一个月前读了《Redis实战》嘛。正好实战下。
过程是这样子的,我先把整个数据库读取到Redis里面。然后把查询mysql改成查询redis。这样子确实带来了性能的提升。从43分钟进步到了10分钟。
这里有个问题。
redis是内存数据库,我去远程查另一台电脑上面的redis队列的内容,为什么不在本地建几个HashMap呢?
这两个哪个性能更优一些呢?明天的时候有空试验下..
2016年1月9日00:42:03
真的是不知道不明了呀..
有的时候吧,以为自己做的不错,结果却是超时;有的时候吧,以为自己用的是笨方法,结果却是相当不错..这次就算这样子的,用了个笨方法,却超过了88%的方案..
题目如下:https://leetcode.com/problems/maximal-square
就算扫描每个节点,假设以当前节点当做结果正方形的左上角的顶点,求出当前节点下的最大面积。
首先给个评价:5星好评。
这本书讲的是作者张若雪这些年来经历的一些事情,从他的父亲母亲,他小的时候做知青,知青的时候学会的抽烟卷烟,喝酒,后来的几次戒烟,手术,自己的侄子,自己的兄弟们。感触最深的是他的学生那一章节。
做这个题目的时候发现的:https://leetcode.com/problems/container-with-most-water/
Given n non-negative integers a1, a2, …, an, where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of line i is at (i, ai) and (i, 0). Find two lines, which together with x-axis forms a container, such that the container contains the most water.
Note: You may not slant the container.
我的思想是首尾两个指针扫描,感觉有点快速排序的那个意思。计算当前的面积,与最大面积进行比较,如果当前大,那么最大面积=当前面积。然后比较首尾元素,让更小的那一端移动。直到首尾相差为1。
线性的时间复杂度。但是提交之后却报错time out,百思不得其解..后来我把输出语句给注释掉之后竟然通过了!!原来print语句这么耗费时间的吗??
长度为5000的数组进行本地测试的结果(注释掉print前后):
前:137毫秒
后:0毫秒
1 | public int maxArea(int[] height) { |
2015年12月24日12:08:07