自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Stephen Wong的专栏

让明天把今天记住 不是因为孤独 因为我们追求的专注 不管它起起伏伏

  • 博客(64)
  • 收藏
  • 关注

原创 manacher算法 (O(n)求最长回文子串)

我们可以用O(n^2)暴力求解最长回文子串。之所以是这个复杂度,是因为我们对每个字符比较其两边元素是否相等时,我们都是从它最旁边的一个开始迭代的。但如果我们能以该字符为中心,其附近的某一段子串已为回文,在此基础上比较更远的元素,那么就有可能降低这个复杂度了。

2014-06-06 00:16:05 1845

原创 LeetCode 49. Pow(x, n)

x^n = x^(a[i]*(2^i) + a[i-1]*(2^i-1) + ... + a[0]*1 ), 其中

2014-06-30 06:42:38 640

原创 LeetCode 48. Rotate Image

顺时针旋转正方形90度,O(1)空间复杂度实现。可将该

2014-06-30 05:51:26 708

原创 LeetCode 47. Jump Game II

思路是每次迭代都考察在第step步

2014-06-30 03:12:06 579

原创 LeetCode 46. Jump Game

代码:class Solution {public: bool canJump(int A[], int n) { for (int i=0, bound=0; i <= bound; ++ i) { bound = max(A[i]+i, bound); if (bound >= n-1) { ret

2014-06-29 07:23:20 583

原创 LeetCode 45. Permutations II

当时做LeetCode 44. Permutations考虑的就是找出unique的来,

2014-06-29 04:17:14 580

原创 LeetCode 44. Permutations

num排升序,将其加入返回值ret中

2014-06-29 04:10:50 669

原创 LeetCode 42. Multiply Strings

模拟乘法竖式计算,有个trick是用一维数组result[ a.size()+b.size() ]记录每个位

2014-06-29 03:50:04 646

原创 LeetCode 41. Trapping Rain Water O(n)实现

参考了hackersun007的题解对于每个

2014-06-28 09:00:54 772

原创 LeetCode 40. First Missing Positive

要求O(n)时间,常数空间解题。所以不能快排。

2014-06-27 02:45:11 552

原创 LeetCode 39. Combination Sum II

和LeetCode 38. Combination Sum

2014-06-27 02:02:09 691

原创 LeetCode 38. Combination Sum

candidats排升序去重,递归求解即可。代码:class Solution {public: vector > combinationSum(vector &candidates, int target) { sort(candidates.begin(), candidates.end()); for (size_t i = 0; i

2014-06-26 12:38:59 686

原创 PAT 1083. List Grades

13级何班机试题。用优先队列维护

2014-06-26 02:35:20 945

原创 PAT 1082. Read Number in Chinese

13级heban参考了solin205的题解

2014-06-26 02:24:03 1364

原创 PAT 1081. Rational Sum

13级何班机考题。

2014-06-25 02:06:56 1179 2

原创 LeetCode 37. Count and Say

n-1为迭代的次数,子串初始为"1".

2014-06-24 12:35:31 1250

原创 LeetCode 36. Sudoku Solver

数独规则:考察每行、每列、以及九个九宫格中的任意一个(题中已用粗线分割),都不包含重复的数字(即至多只有一个1, 2, 3, ..., 9)这题可以用递归来解。好暴力啊

2014-06-24 12:26:53 795

原创 LeetCode 35. Valid Sudoku

数独规则:每行、每列、以及九个九宫格

2014-06-24 02:34:26 654

原创 LeetCode 34. Search Insert Position

二分查找插入的位置。若恰好pi

2014-06-21 07:44:50 620

原创 LeetCode 33. Search for a Range

二分搜索,找到index后,考察index两边的元素是否仍等于target进而确定begin和end即可

2014-06-21 05:09:21 620

原创 LeetCode 32. Search in Rotated Sorted Array

若A[0] 因为

2014-06-21 04:59:30 631

原创 LeetCode 31. Longest Valid Parentheses O(n)实现

dp[i]代表以下标i结尾的最长合法括号的。

2014-06-21 03:32:41 821

原创 LeetCode 30. Next Permutation

每次迭代只考察一个数位shang先考察十位数,看个位数

2014-06-21 02:21:13 629

原创 LeetCode 29. Substring with Concatenation of All Words

用一张map统计L的单词及频数;li

2014-06-21 01:52:20 672

原创 LeetCode 28. Divide Two Integers

参考了

2014-06-20 03:18:18 781

原创 laravel. Class UsersController does not exist

参考这篇博文,

2014-06-18 02:09:05 3141

原创 LeetCode 27. Implement strStr() (KMP算法-模式串匹配)

问needle是否是haystack的子串,若是,返回

2014-06-17 02:35:19 775

原创 LeetCode 26. Remove Duplicates from Sorted Array

和LeetCode 25. Remove Element差不多个意思。数组去重,剩下的元素排在前面,返回数组长度。代码:class Solution {public: int removeDuplicates(int A[], int n) { int ret = 0; for (int i = 0; i < n; ++ i)

2014-06-17 02:23:16 641

原创 LeetCode 25. Remove Element

题目描述真实捉急....意思是要删去A[]中elem的元素,并且剩下的元素要排在qia

2014-06-17 02:19:51 512

原创 LeetCode 24. Reverse Nodes in k-Group

使用常数空间(不可以用递归函数)来实现。一直迭代即可。代码:class Solution {public: ListNode *reverseKGroup(ListNode *head, int k) { ListNode *cur=head, *prev, *next; while (cur != NULL) { int i; for (i=0

2014-06-17 02:09:36 645

原创 LeetCode 23. Swap Nodes in Pairs

用head, prev, cur三个指针维护yi

2014-06-16 11:55:01 481

原创 STL: priority_queue学习

太久没用,忘了。API\ 具体实现慢慢补上。

2014-06-16 04:16:48 816

原创 LeetCode 22. Merge k Sorted Lists

用一个最小堆盛放所有有序链表的头结点即可。fuzadu

2014-06-16 04:12:46 726

原创 LeetCode 21. Generate Parentheses

参考了代码:class Solution {public: vector generateParenthesis(int n) { vector ret; gao(0, 2*n, 0, 0, string(), ret); return ret; }private: void gao(int dep, in

2014-06-16 02:40:09 597

原创 LeetCode 20. Valid Parentheses

真是笨,一直没思路... 看了别人的题解发现用一个栈来模拟就行了。

2014-06-16 02:09:14 523

原创 LeetCode 19. Remove Nth Node From End of List

用prev, slow, fast三个指针实现。

2014-06-15 03:15:29 664

原创 LeetCode 18. Letter Combinations of a Phone Number

依题意做即可,输入为2-9间的数字。代码:class Solution {public: vector letterCombinations(string digits) { vector ret(1, ""); string letters[] = {"abc", "def", "ghi", "jkl", "mno", "pqrs", "

2014-06-14 08:17:43 783

原创 LeetCode 17. 4Sum

和LeetCode 15. 3Sum的思路一样过滤

2014-06-14 08:04:38 621

原创 LeetCode 16. 3Sum Closest

思路和LeetCode 15. 3Sum

2014-06-13 12:13:18 649

原创 LeetCode 15. 3Sum

1. 排序数组num2. 双层迭代,每一层都是和

2014-06-13 01:07:23 605

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除