摘要: 第一阶段:练经典常用算法,下面的每个算法给我打上十到二十遍,同时自己精简代码,因为太常用,所以要练到写时不用想,10-15分钟内打完,甚至关掉显示器都可以把程序打出来.1.最短路(Floyd、Dijstra,BellmanFord)2.最小生成树(先写个prim,kruscal要用并查集,不好写)3.大数(高精度)加减乘除4.二分查找. (代码可在五行以内)5.叉乘、判线段相交、然后写个凸包.6.BFS、DFS,同时熟练hash表(要熟,要灵活,代码要简)7.数学上的有:辗转相除(两行内),线段交点、多角形面积公式.8.调用系统的qsort,技巧很多,慢慢掌握.9.任意进制间的转换第二阶段:练 阅读全文
posted @ 2012-04-26 22:51 spring3 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 问题1:给定一个单项链表,设计一个时间优化并且时间优化的算法,找出该链表的倒数第m个元素。当m=0时,返回链表的最后一个元素。[分析:用双指针来实现,两指针间隔m。同步移动两指针,当前一个指针为该链表tail时,后一个指针就为要找的元素]Element * FindMToLastElement( Element * head, int m){Element * current, * mBehind;int i;current = head;for( i = 0; i < m; i++){if(current->next){current = current->next;}el 阅读全文
posted @ 2012-04-26 22:46 spring3 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 下面通过一个例子来说明java类中不同代码块的执行顺序.class B {//静态变量 static int a = 0;//非静态代码块{ System.out.println("B.scope is running"); a = 10 ; }//静态代码块 static { System.out.println("B.static scope is running"); a = 20; }//构造函数 public B() {System.out.println("B.Constructor is running"); } pub 阅读全文
posted @ 2012-04-26 22:41 spring3 阅读(287) 评论(0) 推荐(0) 编辑