随笔分类 -  杂文

摘要:用LINQ时被Deferred Execution的特性给坑了,于是写文章来纪录下>_< Deferred Execution简单来说就是写一个不包含强制马上执行命令(如:Count, Max等)的LINQ表达式时,它只会将表达式保存起来。真正执行的时机则是在真正使用时。具体例子见下图: 18行中的result没有保存结果,反而保存query本身。如果不明白“保存query本身”的真正含义,很容易被坑。以下是我被坑的简化版(不妨手算下输出,看是否会被坑):坑一 1 using System; 2 using System.Collections.Generic; 3 using S 阅读全文
posted @ 2013-05-11 16:45 风中之炎 阅读(1194) 评论(6) 推荐(2) 编辑
摘要:与我一个team的某外国人(以下简称N)在今天遇到了一个不错的问题,就问我要来一次模拟面试吗。虽然同为实习生,但N被面试经验丰富,而且还去面别人。于是果断说了句,sure。问题如下(为了方便观看,翻译成中文了):有一个整数数组,一个该数组的子数组SA,求一个满足以下条件的子数组1. 子数组包含SA2. 子数组的和要为03. 子数组要小4. 子数组要连续 例如,数组为{1, -1, 2, 8, -9, 4, 0},SA为{8,-9},即数组从下标为3(包含)到下标为5(不包含)的部分(下标从0开始算)。那么所求的子数组是{-1,2,8,-9}。 >_< 往下看之前,可想象下如果自己是 阅读全文
posted @ 2013-04-11 21:03 风中之炎 阅读(1976) 评论(4) 推荐(1) 编辑
摘要:不怎样的一本书,具体表现为:1)该详细讲解的地方,或者一笔带过或者讲得不全面或者讲些不相关内容;2)该略过的地方,反而详细起来;3)有一部分错误,如sizeof不计算static变量的大小之类的。虽说如此,收获还是有的——知道了在笔试中常见的知识点。这里的笔记就是对我不熟悉或者理解不全面的知识点去Google和查书而来的。C++的关键字1. 使用extern "C"的理由函数被C编译器编译后不带参数信息,被C++编译器编译后会带上参数信息。这是因为C++支持函数重载。所以函数被C编译器编译和被C++编译器编译是不同的。例如:void Zero(int lin),被C编译后, 阅读全文
posted @ 2012-10-31 10:03 风中之炎 阅读(12097) 评论(6) 推荐(3) 编辑
摘要:开始读《C专家编程》之前,有一个很担心的问题:94年出的讲语言的书,在现在(2012)还有多少是适用的。因此,一边读,一边用VS2010做实验。最后发现大部分内容都还在用。读完后,觉得最精彩的部分有二:一是讲解如何理解声明,二是深入地讲解数组名与指针。下文是将看书过程中所做的笔记进行的整理。p.s: 以下代码均在VS2010测试过1. 使用无符号数时要特别注意(不推荐使用无符号数)当无符号数与有符号数在同一条表达式中出现时,有符号数会被转换为无符号数。e.g:int feng = -1;unsigned int yan = 5;bool result = (feng < yan) ? t 阅读全文
posted @ 2012-09-03 17:26 风中之炎 阅读(4918) 评论(13) 推荐(3) 编辑
摘要:1. CLAPACK简介 要了解CLAPACK,就要先知道什么是LAPACK。 LAPACK(LinearAlgebraPACKage)是一个高性能的线性代数计算库,以BLAS(Basic Linear Algebra Subprograms)为基础,用Fortran语言编写,可用于计算诸如求解线性代数方程、线性系统方程组的最小平方解、计算特征值和特征向量等问题。而CLAPACK则是LAPACK的C语言接口。2. CLPACK的安装 搜了不少网页,终于找到一个方便的安装方法(http://icl.cs.utk.edu/lapack-for-windows/clapack/index.ht... 阅读全文
posted @ 2012-07-20 22:09 风中之炎 阅读(7285) 评论(1) 推荐(1) 编辑
摘要:刚进博客园就在《一道面试附加题的另类求解》看到一道有趣的题,正好,偶对这题也有一些想法,因此写来分享下。题目如下:先来看第一个条件,不可用除法。要满足这个条件倒是很简单:令forward[i] = a[0] * a[1] *... * a[i]; backward[i] = a[i] * a[i+1] *...* a[N];那么b[i] = forward[i-1] * backward[i+1];在此基础上,我们再来看一下第2个条件,时间复杂度为0(N),空间复杂度为O(1)。先将forward和backward数组的值算出,然后才算b数组的值虽然可以满足时间的要求,但空间要求却满足不了。因 阅读全文
posted @ 2012-04-08 17:04 风中之炎 阅读(1822) 评论(5) 推荐(2) 编辑
摘要:欣赏完《编程之美》里面的巧妙解法后,我们不妨来思考下作者是怎样想到这些解法的。因为比起理解怎么做,弄清楚为什么那样想更有趣,不是吗?作者提出一个简单的解法后,总能找出一个优化方法。我认为其中的关键是联想。只要能从中联想到正确的知识,优化方法也就得到了,不是吗? 联想到正确的知识需要经验(知识)和方法。经验很重要,但方法也同样重要。以下是一些有助于联想的方法。抽象 抽象就是从问题中提取有用的,本质的特征,然后将问题用一个简洁但包含同样信息的模型表示出来。复杂的问题经抽象后,可能会变成一个简单的问题,也可能会变成一个曾经遇到的问题,当然也可能仍然是复杂的问题。不管抽象后得到的结果是哪一种,看着抽象 阅读全文
posted @ 2012-01-14 16:10 风中之炎 阅读(2020) 评论(2) 推荐(2) 编辑
摘要:1. 目的 用五笔时,如果碰到不会拆的字,只好换回拼音。但这样做治标不治本,于是到网上找五笔反查工具。最后发现一个不错的网站——不仅有每个字对应的五笔码,还有其字根图。可惜的是,这是一个网站。换句说,就是每次查的时候都要上网。很自然的,会想到将这个网站上的五笔码以及对应的字根图保存到本地上,再写个查询程序做成本地版的>_<2. 准备工作——网页特点分析 网站(http://www.wb86.com/wbcx)提供了两种查询方式:一种是输入要查询的字;另外一种是一页接着一页地查看。由于懒得找字库,就选择了第二种方式。在此方式下,第一页的URL是http://www.wb86.com/ 阅读全文
posted @ 2011-11-29 11:43 风中之炎 阅读(6669) 评论(1) 推荐(0) 编辑