码迷,mamicode.com
首页 > 其他好文
十八年开发经验分享(07)递归程序设计
这篇谈谈递归程序设计的问题。从取名上来说是想刻意区别内容的侧重点不同。上一篇是构造,其重点是从递归程序的自身结构出发,试图用一种比较直观的方法来完成递归程序的构造。这篇的重点是设计,其中的区别在于,这次是从问题本身的结构出发来完成递归程序的开发任务。上一篇中介绍的方法,比较简单直观,八股文的意味非常...
分类:其他好文   时间:2014-04-29 14:14:56    阅读次数:446
《Cracking the Coding Interview》——第18章:难题——题目10
2014-04-29 04:22题目:给定一堆长度都相等的单词,和起点、终点两个单词,请从这堆单词中寻找一条变换路径,把起点词变成终点词,要求每次变换只能改一个字母。解法:Leetcode中有Word Ladder,这题基本思路一致。代码: 1 // 18.10 Given a list of wo...
分类:其他好文   时间:2014-04-29 14:15:57    阅读次数:507
《Cracking the Coding Interview》——第18章:难题——题目9
2014-04-29 04:18题目:有一连串的数被读入,设计一个数据结构,能随时返回当前所有数的中位数。解法:用一个大顶堆,一个小顶堆将数分成数量最接近的两份,就能轻松得到中位数了。代码: 1 // 18.9 A stream of integers are passed to you, you....
分类:其他好文   时间:2014-04-29 14:16:52    阅读次数:423
《Cracking the Coding Interview》——第18章:难题——题目13
2014-04-29 04:40题目:给定一个字母组成的矩阵,和一个包含一堆单词的词典。请从矩阵中找出一个最大的子矩阵,使得从左到右每一行,从上到下每一列组成的单词都包含在词典中。解法:O(n^3)级别的时间和空间进行动态规划。这道题目和第17章的最后一题很像,由于这题的时间复杂度实在是高,我动手写...
分类:其他好文   时间:2014-04-29 14:21:00    阅读次数:498
《Cracking the Coding Interview》——第18章:难题——题目11
2014-04-29 04:30题目:给定一个由‘0’或者‘1’构成的二维数组,找出一个四条边全部由‘1’构成的正方形(矩形中间可以有‘0’),使得矩形面积最大。解法:用动态规划思想,记录二维数组每个元素向上下左右四个方向各有多少个连续的‘1’,然后用O(n^3)时间计算出满足条件的最大正方形。时间...
分类:其他好文   时间:2014-04-29 14:22:02    阅读次数:518
IE11下Forms身份认证无法保存Cookie的问题
ASP.NET中使用Forms身份认证常见的做法如下:1. 网站根目录下的Web.config添加authentication节点 2. 在manager子目录下添加Web.config文件并加入下面的内容: 这样,用户...
分类:其他好文   时间:2014-04-29 14:23:02    阅读次数:497
《Cracking the Coding Interview》——第18章:难题——题目12
2014-04-29 04:36题目:最大子数组和的二位扩展:最大子矩阵和。解法:一个维度上进行枚举,复杂度O(n^2);另一个维度执行最大子数组和算法,复杂度O(n)。总体时间复杂度为O(n^3),还需要O(n)额外空间。代码: 1 // 18.12 Given an n x n matrix, ...
分类:其他好文   时间:2014-04-29 14:24:06    阅读次数:404
编译器后端,寄存器分配算法
寄存器分配,是通过将程序变量尽可能地分配到寄存器,从而提高程序执行速度的一种方法。寄存器是编译器优化中最为重要的问题之一(好的寄存器分配能够提高程序执行速度超过250%);也是编译器理论中最热点的研究领域之一(研究界已经提出来大量寄存器分配相关的算法)。1. 图着色(graph coloring)方...
分类:其他好文   时间:2014-04-29 14:25:08    阅读次数:530
《Cracking the Coding Interview》——第18章:难题——题目6
2014-04-29 02:27题目:找出10亿个数中最小的100万个数,假设内存可以装得下。解法1:内存可以装得下?可以用快速选择算法得到无序的结果。时间复杂度总体是O(n)级别,但是常系数不小。代码: 1 // 18.6 Find the smallest one million number....
分类:其他好文   时间:2014-04-29 14:27:13    阅读次数:665
《Cracking the Coding Interview》——第18章:难题——题目7
2014-04-29 03:05题目:给定一个词典,其中某些词可能能够通过词典里其他的词拼接而成。找出这样的组合词里最长的一个。解法:Leetcode上有Word Break这道题,和这题基本思路一致。代码: 1 // 18.7 Given a list of words, find out the...
分类:其他好文   时间:2014-04-29 14:30:17    阅读次数:493
艾伦·麦席森·图灵
艾伦·麦席森·图灵,OBE,FRS(英语:Alan Mathison Turing,又译阿兰·图灵,Turing也常翻译成涂林或者杜林,1912年6月23日-1954年6月7日),是英国数学家、逻辑学家,他被视为计算机科学之父。 1931年图灵进入剑桥大学国王学院,毕业后到美国普林斯顿大学攻读...
分类:其他好文   时间:2014-04-29 14:33:23    阅读次数:578
历史上最知名的15位计算机科学家
麻省理工学院媒体实验室推出了一个名为“Pantheon”的项目试图量化历史人物对文化的影响。 基于维基百科上超过 11,000 位历史人物的数据,他们创建出了一种名为“历史人气指数(HPI)”的参数。这一参数根据语言数量、页面访问量等数据得出。相较演员、运动员和艺术家,著 名的技术人员仍普遍得分.....
分类:其他好文   时间:2014-04-29 14:35:25    阅读次数:762
《Cracking the Coding Interview》——第18章:难题——题目2
2014-04-29 00:59题目:设计一个洗牌算法,效率尽量快点,必须等概率。解法:每次随机抽一张牌出来,最后都抽完了,也就洗好了。时间复杂度O(n^2),请看代码。代码: 1 // 18.2 shuffle a deck of 52 cards, it must be perfect rand...
分类:其他好文   时间:2014-04-29 14:38:25    阅读次数:473
面对现实,做好自己(一)
过去的一些事,无法释怀,未来的一些事,却又难以捉摸。
分类:其他好文   时间:2014-04-29 14:41:30    阅读次数:545
《Cracking the Coding Interview》——第18章:难题——题目3
2014-04-29 01:02题目:从m个整数里随机选出n个整数,要求等概率。解法:和洗牌的算法类似,每次随机抽出一个数,抽n次即可。时间复杂度O(m * n),空间复杂度O(m)。代码: 1 // 18.3 pick m integers randomly from an array of n ...
分类:其他好文   时间:2014-04-29 14:42:32    阅读次数:345
《Cracking the Coding Interview》——第18章:难题——题目5
2014-04-29 01:51题目:你有一个文本文件,每行一个单词。给定两个单词,请找出这两个单词在文件中出现的其中一对位置,使得这两个位置的距离最短。解法:我的思路是建立倒排索引,计算出所有单词出现的所有位置。下面代码只给出了两个索引的处理方法。倒排索引一般以链表的形式出现,通过顺序扫描两个链表...
分类:其他好文   时间:2014-04-29 14:43:33    阅读次数:388
《Cracking the Coding Interview》——第18章:难题——题目4
2014-04-29 01:05题目:数数从0到n总共有多少个数字‘2’?解法:数位动态规划,可以O(log10(n))时间内解决。代码: 1 // 18.4 Count the number of 2s from 0 to n. 2 #include 3 using namespace std;....
分类:其他好文   时间:2014-04-29 14:44:34    阅读次数:380
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!