- 博客(22)
- 资源 (3)
- 收藏
- 关注
原创 C# 读书笔记
partial关键字允许把类、结构或接口放在多个文件中。一般情况下,一个类存储在单个文件中。但有时,多个开发人员需要访问同一个类,或者某种类型的代码生成器生成了一个类的某部分,所以把类放在多个文件中是有益的。如果类只包含静态的方法和属性,该类就是静态的。静态类在功能上与使用私有静态构造函数创建的类yield
2013-05-07 22:56:32
500
原创 temp
gridView sorthttp://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.sorting.aspx dt.DefaultView.Sort = e.SortExpression + " " + GetSortDirection(e.SortExpression);http://f
2013-05-01 22:30:15
601
原创 emacs在windows下的使用
1. windows8 64下乱码问题 设置如下 (set-fontset-font "fontset-default" 'gb18030 '("Microsoft YaHei" . "unicode-bmp"))
2013-04-13 08:14:50
762
原创 序列元素和、正则表达式匹配、BFS最短路径问题
数组中元素和问题给定n个数字序列,各个数字都不相同,给定K值。 1. 从序列中找到所有的数对,其和为K 2. 从序列中找出三个数,其和为K,找出所有的情况 3. 从序列中找出任意个数,其和为k。问题一 首先将数组排序,假如K=11, 排好序的结果如下: | 1 | 3 | 5 | 7 | 8 | 9 |
2013-03-24 17:42:53
1091
原创 序列最大和分割、最大距离、滑动窗口最大值问题
数字最大和分割问题 给出N个数字,将其分成M份,每一份的和是相等的,求和最大的分割,每 一份并不要求是原序列中连续的元素。 比如3 2 4 3 6,最大和的分割是3 2 4和3 6 假定每一份的和是已知的,为S,判断N个元素的序列是否能被分成M份, 每一份元素的和为S。判断的方法如下,首先从N个元素中任取一个,如
2013-03-23 14:48:06
1368
原创 回文数、整数输出,数字序列最小分割问题
判断一个数字N是不是回文数字 这里介绍两种方法,一、将数字逆序,N mod 10可以计算出最低位,除以 10可以去掉最末尾的数字,不断这样操作就可以得到N的一个逆转序列,将 该序列重新变为一个新的十进制数字,和原来的数字比较可以判断该数字是 否是回文,N的逆序数字可能会溢出,最好将数字提升计算。 和判断字符串是否回文一样从两
2013-03-22 19:21:04
1195
原创 水滴、最大和子序列问题
水滴容纳问题 给定数字串,比如2 1 3 4 5,每个数字表示木棍的长度,只考虑一维的 情况,假如空中有水滴不断的落下,问木棍之间最多能容纳多少水? 比如上面的1在2和3之间,所以能够容纳1滴水。 解法- 分别计算出每个木棍左边和右边的最长木棍,假定为L,R,则容纳的水 为:min(L,R)- 当前
2013-03-21 09:30:58
711
原创 字符串算法
给出一个句子,统计句子中有多少单词方法1:设计一个标志变量inword表示是否在单词中,如果inword从false变为true,表明遇到一个单词,统计值count++,每当碰到一个单词的字符,将inword设置为true,并且在设置之前判断inword是否为false,为false,则将count++,当碰到空格或者标点符号,将inword设置为false进一步优化该方法,就
2013-03-20 20:12:03
615
原创 综合问题
P90 (**) Eight queens problem(八皇后问题)This is a classical problem in computer science. The objective is to place eight queens on a chessboard so that no two queens are attacking each other; i.e., no two
2013-03-10 21:08:22
840
原创 99道lisp练习题----(四)树
Binary TreesA binary tree is either empty or it is composed of a root element and two successors, which are binary trees themselves. In Lisp we represent the empty tree by 'nil' and the non-empty
2013-03-08 22:28:05
1234
原创 99道lisp练习题----(三)格雷码和haffman树
P49 (**) Gray code.(格雷码问题)An n-bit Gray code is a sequence of n-bit strings constructed according to certain rules. For example,n = 1: C(1) = ['0','1'].n = 2: C(2) = ['00','01','11','10'].n =
2013-03-08 17:14:41
1106
原创 99道lisp练习题----(二)数学
其他解法请参考: http://www.ic.unicamp.br/~meidanis/courses/mc336/2006s2/funcional/L-99_Ninety-Nine_Lisp_Problems.htmlArithmeticP31 (**) Determine whether a given integer number is prime. (判断一个数是不是Example
2013-03-08 15:12:56
1892
原创 99道lisp练习题----(一)列表操作
99道习题来自 http://www.ic.unicamp.br/~meidanis/courses/mc336/2006s2/funcional/L-99_Ninety-Nine_Lisp_Problems.html,并且该网页上有解答。P01 (*) Find the last box of a list. (查找列表最后一个元素)Example:* (my-last '(a b
2013-03-06 20:42:30
3038
原创 实现malloc-free用来管理64k内存
问题的引入实现malloc-free,用来管理64k的内存。这是一道面试题,也是一道很好的设计题解决思路1.malloc(size_t size), free(void *p)是用户api, 释放的时候需要知道释放空间的大小,并且需要放入到一个空闲链表里面去,可以这样设计typedef struct item{ uint16_t size; unio
2012-12-23 22:34:22
1138
原创 lisp自动递归(续)
树的遍历(defvar *saved* nil)(=defun re-start () (if *saved* (funcall (pop *saved*)) (=values 'done)))(=defun dft-node (tree) (cond ((null tree) (re-start)) ((atom tree) (=values t
2012-12-01 23:46:57
741
原创 lisp实现自动递归---SICP不确定性计算
一、递归的需求1. 树的遍历,我们首先需要判断当前节点是否为叶子结点,如果不是叶子结点,则需要在左右子树上递归的去遍历;2.迷宫的出口求解问题,当前位置是否为出口,如果不是,则需要在上下左右四个方法去递归搜索;3.在微博看到一个爱因斯坦问题,如下:1、在一条街上,有5座房子,喷了5种颜色。 2、每个房里住着不同国籍的人 3、每个人喝不同的饮料,抽不同品牌的香烟,养不
2012-11-26 11:01:41
1103
原创 on-lisp要点-----宏(二)
一、宏的引入1.什么时候需要宏,宏可以做什么优秀设计的一个通用原则就是:当你发现在程序中的几处都出现了相似的代码时,就应该写一个子例程,并把那些相似的语句换成对这个子例程的调用,lisp中可以使用宏,为我们创建上下文环境,或者利用宏,直接在上下文中计算。宏可以控制 (或阻止) 对其参数的求值,并且它可以展开进入到主调方的上下文中。宏的处理主要分为两步,宏展开(构造表达式
2012-11-23 23:14:19
606
原创 on-lisp要点(一)
chapter-21.symbol-value & symbol-functionlisp中可以通过symbol-value, symbol-function从对应的symbol获取变量值和函数值。(defun double (x) (* x 2))(defvar double 0)(setq double 2)(symbol-value 'double)(symbol-f
2012-11-23 00:08:42
698
原创 使用lisp实现SICP约束系统
问题引入C++&C的代码的执行都是由coder预先安排好的,程序的执行方向都是确定的。比如a=2*3,由2,3计算出a的值。这篇文章讨论的是这样一种场景:给定一个约束条件,比如A*C=B*D,用户给定任意给定三个值,我们可以根据等式计算出第4个值。如果用C&C++实现,我们可能的做法是写四个函数(C(4,3)),然后根据用户的输入去调用相应的函数计算,如果计算的式子更加复杂,并且可能有
2012-11-21 21:06:52
876
原创 带符号大整数加减法,乘法,除法,模除,指数
一、问题的思考1、对于大整数,我们只需要提供构造,显示,加减法,乘法,除法,模除,指数这些用户接口就可以了。2、符号位怎么解决?首先考虑的办法是定义一个类,然后里面有sign_, std::vector i_这两个成员变量,我在实现的过程中发现这样写代码,思路不够清晰,代码也不好写。因为当我们编写代码实现加减乘除,比较运算的时候,就不得不考虑符号位,这种设计会使代码的逻辑复杂,不够清晰
2012-11-21 11:50:00
4118
原创 闭包实践(二)--函数复合
实践一语言:schemelisp中每个函数形成了一个闭包,函数和函数复合形成了一个新的闭包,然后和其他的函数符合,可以组成更加复杂的闭包。(define (compose f g) (lambda (x) (f (g x))))将两个函数复合,形成的新函数接受一个参数(define (compose-n f n) (if (= n 1)
2012-11-14 23:39:21
513
原创 闭包实践(一)------sicp图形语言--picture
一、问题的定义和作用1.定义:Peter J. Landin 在1964年将术语 闭包 定义为一种包含 环境成分 和 控制成分的实体,用于在他的SECD 机器上对表达式求值。2. 作用:通过构造出某种同类的东西,支持任意和无限次的复合。实践一上面的图形(P(n))可以通过这种方法构造:首先在右边画一个长方形(Rn),然后左边是由两个上下临界的图形(P(n
2012-11-02 15:12:50
836
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人