会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
sfesly
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
8
9
10
11
12
13
下一页
2014年10月19日
Word Ladder
摘要: 这题的基本思路很轻易看懂,就是转换成图的中的最短路径问题。我一直出现TLE的错误,原因就在转换过程太复杂。可以遍历整个表,建立邻接表或者邻接矩阵。问题是这个过程就会是一个o(n^2)的过程。恰恰这道题又一个测试用例的词特别多,于是这个转换过程就行不通了。办法很简单,就是枚举每个词变化一个字母后可能出...
阅读全文
posted @ 2014-10-19 20:43 sfesly
阅读(196)
评论(0)
推荐(0)
编辑
2014年10月14日
Permutation Sequence
摘要: 这题关键是要理解数的顺序怎么通过递推得到。以题目中给出的n = 3为例:我们看到,总共是3! = 6 个数,123132213231312321以1、2和3开始的数各有两个(2!个),我们可以推广一下,对于n!个数,以1、2……n开头的数各有(n - 1)!个,而开头的数小的,总是排在前面。当我们要...
阅读全文
posted @ 2014-10-14 21:52 sfesly
阅读(151)
评论(0)
推荐(0)
编辑
Anagrams
摘要: 这题折腾主要是因为对于这个anagram的定义理解有误,参看维基页面:Ananagramis a type ofword play, the result of rearranging the letters of a word or phrase to produce a new word or ...
阅读全文
posted @ 2014-10-14 20:18 sfesly
阅读(440)
评论(0)
推荐(0)
编辑
2014年10月13日
Unique Binary Search Trees II
摘要: 这题首先要明白的是,二叉搜索树的左子树和右子树都自成二叉搜索树。这种递归定义决定了,如果我知道从1到n - 1时,所有的二叉搜索树结构,那结点数为n的二叉搜索树也可以得到了。转换关系是这样的:对于一个含有n个结点的二叉搜索树,首先树根可以从i = 1~n变化,然后左右子树的结点数目分别是i - 1和...
阅读全文
posted @ 2014-10-13 21:45 sfesly
阅读(176)
评论(0)
推荐(0)
编辑
2014年10月11日
Interleaving String
摘要: 这题首先要注意的是两个字符串,Interleave得到一个新的字符串,原来字符串中的字符的顺序是不会改变的。试想,如果枚举s1和s2所能组成的所有字符串,那将是很恐怖的。因为两个字串中的顺序不变,如果能将之类比Minimum Path Sum中,一个m X n的网格,从左上角走到右下角的过程,事情就...
阅读全文
posted @ 2014-10-11 19:56 sfesly
阅读(230)
评论(0)
推荐(0)
编辑
2014年10月10日
Longest Substring Without Repeating Characters
摘要: 这题看起来挺简单的,就是存一个哈希表,然后依次遍历整个字符串,遇到前面有过的字符的时候,就该停止当前计数,新的子串应该从发现该字符的位置的下一位置开始。我开始写了一个简单的写法,发现超时了: if (s.empty()) return 0; if (s.length() == 1) retur...
阅读全文
posted @ 2014-10-10 12:46 sfesly
阅读(177)
评论(0)
推荐(0)
编辑
2014年9月30日
Sqrt(x)
摘要: 这题没多大技巧性,只是牛顿迭代法多用于数值计算,这里出现有些意外。维基上有方法说明:http://zh.wikipedia.org/wiki/牛顿法 int sqrt(int x) { if (x == 0) return 0; double x0 = 1.0; while (1){...
阅读全文
posted @ 2014-09-30 21:29 sfesly
阅读(153)
评论(0)
推荐(0)
编辑
Maximum Product Subarray
摘要: 这题看起来和max subarray差不多,只是加法变乘法,尝试过用分治法,发现划分情况的时候特别麻烦。于是分析下这题本身的特点:1、对0较敏感,一旦有0,乘积就不变了,所以需要在遇到0 的时候将数组拆分2、如果没有0, 一旦相乘,绝对值肯定会变大,所以仅考虑正负号的问题就够了。若整个数组相乘是一个...
阅读全文
posted @ 2014-09-30 14:22 sfesly
阅读(366)
评论(0)
推荐(0)
编辑
2014年9月26日
Jump Game II
摘要: 这一题比较容易想到的思路是动态规划,因为直接从前往后分析发现,每次一个结点能到达后面多个节点的时候不知道选哪个,就只能递归,这样会造成很多重复的子问题,于是发现可以倒过来,遍历,这样每次一个节点可以抵达的前方的结点到目的地的距离都是确定的,所以可解。但是正如很多的动态规划算法一样,这个算法的时间复杂...
阅读全文
posted @ 2014-09-26 20:57 sfesly
阅读(183)
评论(0)
推荐(0)
编辑
2014年9月18日
Container With Most Water
摘要: 这题想到思路就很简单:从两边开始,短板往中间走。可以仔细想下,为什么这样可以保证得到最大容量?首先,从两边开始肯定是没问题的,因为包括了所有的板。为什么短板往中间走就是对的?短板是限制容器容量的,如果长板往中间走,得到的容器必然比先前的容器小(宽度减小,高度不能增加)。而短板往里走,虽然宽度减小,却...
阅读全文
posted @ 2014-09-18 19:29 sfesly
阅读(139)
评论(0)
推荐(0)
编辑
上一页
1
···
8
9
10
11
12
13
下一页
公告