2012年12月11日
摘要: 今天实现yabe的主页,形式如下: 1、 程序启动时,给定个装载步骤,Bootstrap.java来实现,读取initial-data.yml中的内容;使得程序在没有任何http请求的情况下,执行数据的加载工作;Fixtures.loadModels("initial-data.yml"); 这个文件放置在conf目录下,修改数据库内容以后,要重新启动play 2、controllers/Application.index()->render()->views/Application/index.html,显示html页面,这里要修改Application.ja 阅读全文
posted @ 2012-12-11 20:11 CodeAnt 阅读(197) 评论(0) 推荐(0) 编辑
  2012年11月20日
摘要: 常常会用到Java中的文件操作,先看下面的表:字节流字符流输入InputStreamReader输出OutputStreamWrite 字节流的底层是InputStream和OutputStream,文件操作继承于此,读/写分别为:FileInputStream和FileOutputStream,可以对任何类型的文件进行操作。以读文件为例: FileInputStreamfin=newFileInputstream(fileName);//打开文件进行操作 Java给出了几种read()方法: 1、intread();此输入流中读取一个数据字节,文件结束则返回-1; intc... 阅读全文
posted @ 2012-11-20 22:00 CodeAnt 阅读(321) 评论(0) 推荐(0) 编辑
  2012年11月2日
摘要: 产生不同的随机数,转化一下更类似于随机取样的问题,从N个不重复的数中,取出m个数。 1、使用java的Set集合,Set保证新增的元素不能与集合中已有的元素重复;LinkedHashSet、TreeSet都能实现,后者集合里的元素按升序排列; 2、用数组保存N个值,然后打乱数组,取前m个数; 3、Knuth算法,主要思想是从r个剩余的整数中选出s个,以概率s/r选择下一个数, rand()%remaining<select,当条件符合时,select自减1,而remaining是不断减小的。当remaining==select时,不等式必然成立,肯定会选择一个数;而当select变为.. 阅读全文
posted @ 2012-11-02 11:01 CodeAnt 阅读(997) 评论(0) 推荐(0) 编辑
  2012年10月27日
摘要: 全排列,经常会碰到的算法题,比如给定a,b,c,则一共有abc,acb,bca,bac,cab,aba六种方式; 先确定a,然后对bc进行处理;将a和b交换,处理ac;每一步处理完之后,将之前的交换恢复,就得到如下的算法:void Perm(Tpye arr [],int k,int m){ if(k==m) //不断缩小处理范围 { for(int i=0;i<=m;i++) cout<<arr[i]; cout<<endl; } else { for(int j... 阅读全文
posted @ 2012-10-27 14:01 CodeAnt 阅读(155) 评论(0) 推荐(0) 编辑
  2012年10月22日
摘要: 百度的笔试、一面、二面,豆瓣的笔试题都涉及到了海量数据处理;因为不是CS专业,平时真心没用过上亿的数据量,初看到题的时候完全无从下手,顶多就一些将数据分割成很多的小文件,然后处理这些单个的文件,最后进行归并,而实现的过程也不是很清楚。 仔细回想一下《编程诛讥》里是有提到过海量数据处理的,只是当时连Bitmap都不清楚,就没有细心研究过。昨天百度一面的一道题,说有10亿个无符号的整型数据,如何找出重复的数字并统计其个数。当时,我又将“分割”的算法照搬一遍,还加上Quicksort,后面发现,归并的时候不知道怎么处理了;只好换一种思路,想到了计数排序,考官一开始没听懂,问我是不是桶,我一想,... 阅读全文
posted @ 2012-10-22 23:04 CodeAnt 阅读(233) 评论(1) 推荐(0) 编辑
  2012年10月17日
摘要: 1、占用空间,字符串所占用空间"abc\\\0" 7字节,abc+转义符号+结束+默认的结尾2、越界问题 unsigned int i=30; While(i--<=0) ;问执行的次数 无限次执行,当i自减到0时,便会越界,从2^32-1开始 Unsigned int a=5;int b=-7; a+b? 2^32-23、switch()里面参数 int、char、enum4、指针 int (*p) [M]; 数组指针,一个指针,指向含M个元素的数组 int *p[M]; 指针数组,含M个指针的数组 ++p->a先找到p->a,然后将这个值自增,而不是先 阅读全文
posted @ 2012-10-17 20:41 CodeAnt 阅读(143) 评论(0) 推荐(0) 编辑
  2012年10月15日
摘要: 大大小小的笔试也参加了五六场,很多公司在选择题都喜欢考很细节的东西,而特别难的程序一般不会有,当然,除了Google之类的。 1、线程和进程这两个概念,几乎每套试卷都会有,不管是Windows开发、Java开发还是Linux的开发,都喜欢把这两个的区别与联系放在简答题里面; 2、几种排序,考的也比较勤,像哪几种是稳定的,那几种是不稳定的,我就记得冒泡和二叉树排序是稳定的;平均的时间复杂度,最坏时间复杂度,也会要求列出来; 3、一些基本的网络知识,像TCP/IP协议、Socket通信会考选择题;数据库的内容一般考得不难 4、C++的特性,有些注重算法的公司会考,比如STL的构成,虚函... 阅读全文
posted @ 2012-10-15 21:17 CodeAnt 阅读(117) 评论(0) 推荐(0) 编辑
  2012年10月9日
摘要: 题目:把n个骰子扔在地上,所有骰子朝上一面的点数之和为S。输入n,打印出S的所有可能的值出现的概率;显然,最小的值为n,最大的值为6*n,n~6n之间的整数都会出现,一共有6^n种组合,只要统计每个点数出现的次数即可。 比如有n个骰子,将他们分为两份,(1,n-1),一个骰子有6种方式{1,2,3,4,5,6} ,则可能出现的点数{1,2,3,4,5,6}+sum(n-1);将剩下的骰子再分成(1,n-2),这个组合可能出现的点数{1,2,3,4,5,6}+sum(n-2),……最后分成(1,0)的组合,此时结束,只有{1,2,3,4,5,6}几种情况;中间过程我们需要一个数组来保存可能... 阅读全文
posted @ 2012-10-09 16:06 CodeAnt 阅读(655) 评论(0) 推荐(0) 编辑
  2012年10月8日
摘要: 比如有三个空位,插入0~9数字,不算上000,那么有pow(10,3)-1个数字;最常用的思路,是用整型数字直接表示,但是当空位的值过大时,如10时,那么所有的数有10的10次方个,超出整型的表示范围。 字符串来表示是一个不错的选择,这里使用递归来表示所有可能的值。先固定第一位,有10种方法,然后固定下一位,依此下去FunRecursively(char *str,int length,int index),index表示当前要设置的位,length为总的位数void FunRecursively(char *str,int length,int index){ //index到达... 阅读全文
posted @ 2012-10-08 21:16 CodeAnt 阅读(147) 评论(0) 推荐(0) 编辑
  2012年9月27日
摘要: 本来这个题目没有可说的,但却要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C),那么一般的方法,或者递归之类的解法都不行,因为不是要用么循环就是要用到if. 首先,想到用math函数来做,除法可以通过右移来实现,(n*n+n)/2,平方可以用pow(n,2) 另一种方法可以通过类来实现,只要定义两个静态成员变量,每次构造一个对像的时候,构造函数将两变量进行运算,最终得到想要的解#include<iostream>#include<cmath>int Sum(int n);class SumClass{ p 阅读全文
posted @ 2012-09-27 15:32 CodeAnt 阅读(181) 评论(0) 推荐(0) 编辑