摘要: 题目来源:https://leetcode.com/problems/regular-expression-matching/题意分析: 这道题目定义了两个正则表达式规则。’.’代表任意字符,’*’代表前一个字符出现任意次。输入两个字符串s,p。如果s可以被p完全匹配则返回True,否则返回Fals... 阅读全文
posted @ 2015-09-14 15:18 Ry_Chen 阅读(977) 评论(0) 推荐(0) 编辑
摘要: 题目来源:https://leetcode.com/problems/median-of-two-sorted-arrays/题意分析: 这道题目是输入两个已经排好序的数组(长度为m,n),将这两个数组整合成一个数组,输出新数组的中位数。要求时间复杂度是(log(m + n)。比如如果输入[1,2,... 阅读全文
posted @ 2015-09-07 17:21 Ry_Chen 阅读(1892) 评论(1) 推荐(1) 编辑
摘要: 写堆排序的动机 自从学了堆以来,对于堆用得最多的就是STL的map,set以及优先队列,而最基本的堆构建,堆调整都没有动作做过,趁着找实习的阶段复习一下堆,实现一个堆排序。 堆介绍 堆是一个完全二叉树,也就是说,整棵树除了叶子最底层的叶子节点之外,都是填满的,而最底层的叶子节点由左到右不能有空隙。也 阅读全文
posted @ 2017-03-03 16:36 Ry_Chen 阅读(2017) 评论(0) 推荐(0) 编辑
摘要: 题目来源: https://leetcode.com/problems/min-stack/ 题意分析: 实现一个小的栈,包括初始化,push,pop,top,和getMin。 题目思路: 思路是用两个数组来处理。 代码(python): 1 class MinStack(object): 2 de 阅读全文
posted @ 2016-05-10 17:07 Ry_Chen 阅读(958) 评论(0) 推荐(0) 编辑
摘要: 题目来源: https://leetcode.com/problems/find-minimum-in-rotated-sorted-array-ii/ 题意分析: 给定一个有重复的翻转的数组,找到最小的数。 题目思路: 由于有重复的存在,所以当中间数和两端存在相等的时候就不能用二分的方法来做了,最 阅读全文
posted @ 2016-05-10 17:04 Ry_Chen 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 题目来源: https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/ 题意分析: 在一个不重复的翻转的数组里面找到最小那个。例如:4 5 6 7 0 1 2,最小是0. 题目思路: 这里可以利用二分的方法去找最小的值。 代 阅读全文
posted @ 2016-05-10 16:54 Ry_Chen 阅读(458) 评论(0) 推荐(0) 编辑
摘要: 题目来源: https://leetcode.com/problems/maximum-product-subarray/ 题意分析: 给定一个数组,这个数组所有子数组都有一个乘积,那么返回最大的乘积。 题目思路: 由于题目输入的都是整型的,所以所有的数相差获得的是最大或者最小值。那么我们同时记录可 阅读全文
posted @ 2016-05-10 16:30 Ry_Chen 阅读(417) 评论(0) 推荐(0) 编辑
摘要: 题目来源: https://leetcode.com/problems/reverse-words-in-a-string/ 题意分析: 给定一个字符串,里面包括多个单词,将这个字符串的单词翻转,例如"the sky is blue",得到"blue is sky the". 题目思路: 首先获取每 阅读全文
posted @ 2016-05-10 16:20 Ry_Chen 阅读(449) 评论(0) 推荐(0) 编辑
摘要: 题目来源: https://leetcode.com/problems/evaluate-reverse-polish-notation/ 题意分析: 给定一个数组,用这个数组来表示加减乘除,例如 题目思路: 这里考虑的是栈的使用。如果是数字那么push进栈,如果不是,那么把栈后两个数pop出来,进 阅读全文
posted @ 2016-05-10 16:08 Ry_Chen 阅读(412) 评论(0) 推荐(0) 编辑
摘要: 题目来源: https://leetcode.com/problems/max-points-on-a-line/ 题意分析: 在一个2D的板上面有很多个点,判断最多有多少个点在同一条直线上。 题目思路: 这里我们可以用斜率来记录两条边是否在同一条直线。如果考虑再细一点,由于double有精度的问题 阅读全文
posted @ 2016-05-10 15:54 Ry_Chen 阅读(1047) 评论(0) 推荐(0) 编辑
摘要: 题目来源: https://leetcode.com/problems/sort-list/ 题意分析: 用nlog(n)的时间复杂度实现一个链表的排序。 题目思路: 用归并排序的思想,将链表用快慢指针分成两半,然后两半排好序,最后归并。 代码(python): # Definition for s 阅读全文
posted @ 2016-05-10 15:40 Ry_Chen 阅读(1314) 评论(0) 推荐(0) 编辑
摘要: 题目来源: https://leetcode.com/problems/insertion-sort-list/ 题意分析: 用插入排序排序一个链表。 题目思路: 这题没什么好说的,直接用插入排序就行。 代码(python): 1 # Definition for singly-linked lis 阅读全文
posted @ 2016-05-10 15:31 Ry_Chen 阅读(305) 评论(0) 推荐(0) 编辑