高效算法设计
kobep
这个作者很懒,什么都没留下…
展开
-
括号匹配
描述: 求n对括号一共有多少种匹配顺序?如两对括号有两种,()(),(())。解:设n对括号共有f(n)种匹配顺序,考虑某一对括号,如果它里面有 i 对括号(f(i) ),则它外面有 n - i - 1对 ( f ( n - i - 1) ),则 f( n) = sum ( f( i ) * f( n - i - 1) ), i = { 0, 1,.....n -1};时间复原创 2013-03-29 10:54:05 · 446 阅读 · 0 评论 -
Calculator Conundrum UVa11549
题目描述:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=460&page=show_problem&problem=2544 本题难点在于判断是否存在循环,一种可行方法是使用STL中的set,但是空间开销有点大,同事set的插入和查找也花费一定时间,这里使用最基本的追击问题原理原创 2013-03-17 11:03:15 · 475 阅读 · 0 评论 -
求算法?
一串首尾相连的珠子(m个),有N种颜色(N设计一个算法,取出其中一段,要求包含所有N中颜色,并使长度最短。并分析时间复杂度与空间复杂度。 JULY_V 的博客给的答案是:ANSWERUse a sliding window and a counting array, plus a counter which monitors the num of zero slots in原创 2013-03-25 20:04:18 · 497 阅读 · 1 评论 -
阿里巴巴2013笔试最后一题解答
题目描述:一个淘宝金冠卖家有n个仓库,每个仓库存储量不同,他想通过搬运使得所有仓库存储量相等,n个仓库形成环状,搬运只在相邻仓库间发生,请设计高效算法达到卖家的目的,并且使得总搬运量最低。分析:设每个仓库库存为a[i],第i个仓库搬给其右边的仓库x[i]个。m为最后每个仓库库存。可有方程m = a1 - x1 + x2= a2 - x2 + x3=﹉= an - xn + x1x2 = m - a原创 2013-05-10 23:33:57 · 1055 阅读 · 0 评论