05 2016 档案

摘要:题目来源: 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 阅读(969) 评论(0) 推荐(0)
摘要:题目来源: https://leetcode.com/problems/find-minimum-in-rotated-sorted-array-ii/ 题意分析: 给定一个有重复的翻转的数组,找到最小的数。 题目思路: 由于有重复的存在,所以当中间数和两端存在相等的时候就不能用二分的方法来做了,最 阅读全文
posted @ 2016-05-10 17:04 Ry_Chen 阅读(332) 评论(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 阅读(476) 评论(0) 推荐(0)
摘要:题目来源: https://leetcode.com/problems/maximum-product-subarray/ 题意分析: 给定一个数组,这个数组所有子数组都有一个乘积,那么返回最大的乘积。 题目思路: 由于题目输入的都是整型的,所以所有的数相差获得的是最大或者最小值。那么我们同时记录可 阅读全文
posted @ 2016-05-10 16:30 Ry_Chen 阅读(431) 评论(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 阅读(457) 评论(0) 推荐(0)
摘要:题目来源: https://leetcode.com/problems/evaluate-reverse-polish-notation/ 题意分析: 给定一个数组,用这个数组来表示加减乘除,例如 题目思路: 这里考虑的是栈的使用。如果是数字那么push进栈,如果不是,那么把栈后两个数pop出来,进 阅读全文
posted @ 2016-05-10 16:08 Ry_Chen 阅读(429) 评论(0) 推荐(0)
摘要:题目来源: https://leetcode.com/problems/max-points-on-a-line/ 题意分析: 在一个2D的板上面有很多个点,判断最多有多少个点在同一条直线上。 题目思路: 这里我们可以用斜率来记录两条边是否在同一条直线。如果考虑再细一点,由于double有精度的问题 阅读全文
posted @ 2016-05-10 15:54 Ry_Chen 阅读(1071) 评论(0) 推荐(0)
摘要:题目来源: https://leetcode.com/problems/sort-list/ 题意分析: 用nlog(n)的时间复杂度实现一个链表的排序。 题目思路: 用归并排序的思想,将链表用快慢指针分成两半,然后两半排好序,最后归并。 代码(python): # Definition for s 阅读全文
posted @ 2016-05-10 15:40 Ry_Chen 阅读(1328) 评论(0) 推荐(0)
摘要:题目来源: https://leetcode.com/problems/insertion-sort-list/ 题意分析: 用插入排序排序一个链表。 题目思路: 这题没什么好说的,直接用插入排序就行。 代码(python): 1 # Definition for singly-linked lis 阅读全文
posted @ 2016-05-10 15:31 Ry_Chen 阅读(317) 评论(0) 推荐(0)
摘要:题目来源: https://leetcode.com/problems/lru-cache/ 实现一个LRU缓存。直接上代码。 代码(python): 1 class LRUCache(object): 2 3 def __init__(self, capacity): 4 """ 5 :type 阅读全文
posted @ 2016-05-10 15:26 Ry_Chen 阅读(738) 评论(0) 推荐(0)
摘要:题目来源: https://leetcode.com/problems/binary-tree-postorder-traversal/ 题意分析: 后序遍历一棵树,递归的方法很简单,尝试用非递归的方法。 题目思路: 后序遍历的顺序是,先左子树,再右子树,最后才是根节点。递归的思想很简单,那么非递归 阅读全文
posted @ 2016-05-10 13:52 Ry_Chen 阅读(459) 评论(0) 推荐(0)
摘要:题目来源: https://leetcode.com/problems/binary-tree-preorder-traversal/ 题意分析: 前序遍历一棵树,递归的方法很简单。那么非递归的方法呢。 题目思路: 前序遍历的顺序是先遍历根节点,再遍历左子树,最后遍历右子树。递归的方法很直观。非递归 阅读全文
posted @ 2016-05-10 13:41 Ry_Chen 阅读(344) 评论(0) 推荐(0)
摘要:题目来源: https://leetcode.com/problems/reorder-list/ 题意分析: 给定一个链表L:L0→L1→…→Ln-1→Ln,改变链表的排序为: L0→Ln→L1→Ln-1→L2→Ln-2→…,要求时间复杂度为O(n),不能改变节点的值。 题目思路: 题目思路是把链 阅读全文
posted @ 2016-05-09 17:07 Ry_Chen 阅读(389) 评论(0) 推荐(0)
摘要:题目来源: https://leetcode.com/problems/linked-list-cycle-ii/ 题意分析: 给定一个链表,如果链表有环,返回环的起始位置,否则返回NULL。要求常量空间复杂度。 题目思路: 首先可以用快慢指针链表是否有环。假设链表头部到环起点的距离为n,环的长度为 阅读全文
posted @ 2016-05-09 17:01 Ry_Chen 阅读(670) 评论(0) 推荐(0)