摘要: 《编程之美》上的一个经典问题,拿来练习一下给定一整型数组a[0...n],找出连续子串a[x...y],使得和最大,其中,0<=x<=y<=n。方法很多,采用动态规划的方法可以达到线性O(n)的时间复杂度。动态规划需要满足无后效性,分析这个问题,考察数组a[0...m](m<n)的最大连续子串和,有三种可能的情况。第一:最大的连续子串中不包含a[m],则result[0...m]=result[0...m-1],和前m-1个元素的最大子串和相同。第二:由包含a[m-1]的前m-1个元素的最大子串和,加上a[m]组成。第三:由a[m]自己单独组成假定以a[i]结尾的和最大 阅读全文
posted @ 2013-05-20 14:38 现代魔法入门 阅读(395) 评论(0) 推荐(0)
摘要: Array是JS内置的引用类型。用得很多用法也很灵活,而且似乎很容易在笔试面试题里出现,故总结一下。贴过来的代码都是在jsFiddle上运行过的》》初始化。用length属性可以取得数组当前的长度//建立空数组var colors=new Array();//用长度建立数组var colors=new Array(4);alert(colors[0]);//undefinedcolors[0]="red";alert(colors[0]);//red//用值建立数组var colors=new Array("red","blue",& 阅读全文
posted @ 2013-05-16 13:35 现代魔法入门 阅读(314) 评论(0) 推荐(0)
摘要: 摘自Facebook杯2013年编程挑战赛预选赛,链接(http://www.cnblogs.com/newyorker/archive/2013/01/31/2886278.html)觉得题目挺有意思,就自己用C++实现了一下问题描述:对于一个字符串,定义这个字符串的“美丽程度”是其所有字母“美丽程度”的总和(sum)。每个字母都有一个“美丽程度”,范围在1到26之间。没有任何两个字母拥有相同的“美丽程度”。字母忽略大小写。给出一个字符串,计算它最大可能的“美丽程度”。官方答案:这是本轮比赛最简单的题目。一共有10697名参赛者尝试解决此题,其中9865名参赛者成功解决。解法的核心思想是:计 阅读全文
posted @ 2013-05-15 11:54 现代魔法入门 阅读(1133) 评论(0) 推荐(0)