Java开发

细节是一个工程师的基本素养

2008年12月16日 #

Eclipse取消一次build

工程一旦变大,随之而来的就是许多想象不到的过程。一个一万个类的java工程,全部编译一次的时间大约是20分钟。如果不去掉这个该死的勾,每次重新打开eclipse,第一次运行都要重新编译,一天浪费的时间就是半个多小时到一个小时不等。





posted @ 2009-10-09 07:22 躺着读书 阅读(275) | 评论 (0)编辑 收藏

Haskell之美——求子集问题

要求数列[1,2,3]子集,结果应该如下(顺序无关):
[[],[1],[1,2],[1,2,3],[1,3],[2],[2,3],[3]]

如果用C语言求解,在CSDN上找到别人的代码如下
 1   #define   N   4  
 2   #include   <stdio.h>  
 3   int   used[N]={0};//加上  
 4    
 5   void   output()  
 6   {  
 7         int   i;  
 8         for(i=0;i<N;i++)if(used[i])printf("%d   ",i+1);  
 9         printf("\n");  
10   }  
11    
12   void   f(int   i)  
13   {  
14         if(i>=N)  
15         {  
16               output();  
17               return;  
18         }  
19         f(i+1);  
20         used[i]=1;  
21         f(i+1);  
22         used[i]=0;//加上  
23   }  
24    
25   void   main()  
26   {  
27       f(0);  
28       getchar();  
29   }    

如果是Haskell呢?(不包括空集)
1 subsets :: [a] -> [[a]]
2 subsets [x]  = [[x]]
3 subsets (x:xs)  = [x] :  [x:i|i<-s]++ s
4   where s = subsets xs

除去声明就三行还可以缩减到2行。且含义清楚。Haskell果然是一个研究算法最好的语言。



posted @ 2008-12-15 22:25 躺着读书 阅读(683) | 评论 (0)编辑 收藏

My Links

Blog Stats

常用链接

留言簿(1)

随笔分类

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜