本月博客排行
-
第1名
龙儿筝 -
第2名
lerf -
第3名
zysnba - xiangjie88
- sgqt
年度博客排行
-
第1名
青否云后端云 -
第2名
宏天软件 -
第3名
gashero - wallimn
- wy_19921005
- vipbooks
- benladeng5225
- 龙儿筝
- javashop
- ranbuijj
- fantaxy025025
- zw7534313
- qepwqnp
- e_e
- 解宜然
- zysnba
- ssydxa219
- sam123456gz
- sichunli_030
- arpenker
- tanling8334
- kaizi1992
- xpenxpen
- gaojingsong
- jh108020
- wiseboyloves
- xiangjie88
- ganxueyun
- xyuma
- wangchen.ily
- lemonhandsome
- jbosscn
- mengjichen
- zxq_2017
- luxurioust
- lzyfn123
- forestqqqq
- nychen2000
- Xeden
- zhanjia
- wjianwei666
- ajinn
- hanbaohong
- 喧嚣求静
- jickcai
- kingwell.leng
- mwhgJava
- silverend
- lich0079
- lchb139128
最新文章列表
Learn Haskell(二)
1.Ranges
有时候我们有这样一种需求:我们需要一个List,它的元素从1到20。从1到20敲出每一个元素肯定是一种可以搞定的办法,但肯定不是好办法。这时候,我们可以使用Haskell的Ranges来处理这种需求。
Ranges用来构建元素可以按照某种顺序枚举的List。像数字1,2,3,4就是可枚举的;字母a,b,c,d也是。我们看看两个Ranges的例子:上面说到的1-20,使用Rang ...
Learn Haskell(一)
这一系列博客是《Learn You a Haskell for Great Good》的读书笔记。
一句话介绍:Haskell是一门纯粹的函数式编程语言。至于什么是函数式编程?尽管网上也有很多关于函数式语言与指令式语言之间的区别与联系,但是没有实际使用过函数式编程语言的情况下,我也搞不清楚。因此,先从学习一门函数式编程语言开始吧。
1.安装Haskell要开始使用Haske ...
Natural merge sort
通常我们见到的merge sort的思路是典型的分而治之divide and conquer策略:
1. 如果待排序序列为空,或者只有1个元素,结束
2. 否则,将序列一分为二,将两个子序列分别merge sort,再将两个排好的子序列merge
我们也可以从另外一个角度出发,序列中存在一些已经排好的片段,我们可以把这些排好的片段merge起来,不断重复直到序列排好(只含有一个排好的片段,亦即整个 ...
谁主张、谁举证 ACM crashing balloon / zoj 1003
题目详情可以参考这里:
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3
ZOJ上的判定标准是:
b不服,站出来质疑;
如果a能举证说:你瞧,存在一种合理的解释,a = a[1]*a[2]*…*a[n], b = b[1]*b[2]*…*b[m]; 其中 2<= a[i], b[j] <=100, 且 a[i] ...
[转]为什么我们要学习Haskell这样的编程语言
转外刊IT评论:为什么我们要学习Haskell这样的编程语言
摘录:
高阶函数(Higher Order Functions)
在Haskell语言中,最多的被反复使用的函数都是高阶函数(higher order functions)——能以函数作为参数、能返回函数的函数。这使得它们具有固有的灵活性。下面是一个不太灵活的函数:它计算一个数组里等于某个值的元素的个数。
// 不灵活
functi ...
答复: Monad浅析(Java伪代码)
http://www.iteye.com/topic/1114416
今天来看到这篇帖子。先说明我没详细把楼主的原文细读完了。我也分享一些我对Monad的简单的理解。其实我觉得楼主所讲的Monad侧重于StateMonad
我先说说Monad,其实这东西理解起来我觉得很简单,类似于一个Box的理念
程序代码是运行在机器中的,外面的世界就像在盒子外一样。
程序自身的世界是可推导的,而外面的世界是不可 ...
AVL tree,比红黑树更朴素
AVL树发明于上世纪60年代,比红黑树早了近十年。
上一章里,我展示了用pattern matching实现的红黑树。本章我展示同样策略实现的AVL tree。相比于传统的基于旋转的解法,这一解法再次展示了简单一致的特点。
本章内容如下:
- 简单介绍;给出AVL树的高度与节点数的证明;
- 类比红黑树的思路;
- 解:
- pattern matching 的形式分析
...
答复: python娱乐下
http://www.iteye.com/topic/750294
26个英语字母,分别用1~26标识,就是一个单词所有标识的和。。
比如 abc的和为1+2+3=6
对于attitude单词这个标识和为多少?
calc=lambda s: sum( [ ord(i) -96 for i in s])
发个简单的Haskell版(ord方法没有使用标准库)
calc s ...
中国剩余问题的Haskell解法
神奇的原贴算法题看程序员的魅力
无穷列表在解决这个问题上有很好的直观性.
{--
如果3个人一桌,多2个人。
如果5个人一桌,多4个人。
如果7个人一桌,多6个人。
如果9个人一桌,多8个人。
如果11个人一桌,正好。请问这屋里多少人?
--}
main = f 1 1 1 1 2 k l m n o where
k = [3 * x + 2 | x < ...
关键概念是类型和计算,发现微博和轻博都不适合记技术内容
haskell关键概念是类型和计算
发现微博和轻博都不适合记技术内容,还是移到这个博客来算了。
在研究yesod的持久框架时再次体会到haskell社区对这个语言的类型系统的极度信赖和依赖
而计算从最抽象的角度来看又可以理解为在做类型的转换(将入参转换为结果)