算法
代小前
迭代中
展开
-
合并k个已排序的链表
O(nk2)O(nk^2) O(nklog(k))O(nklog(k))原创 2015-07-09 17:43:49 · 423 阅读 · 0 评论 -
[leetcode] Reverse Linked List
反转链表:比较简单的问题,可以遍历也可以递归。# Definition for singly-linked list.class ListNode: def __init__(self, x): self.val = x self.next = Noneclass Solution: # @param {ListNode} head # @原创 2015-07-09 18:44:55 · 248 阅读 · 0 评论 -
House Robber
DP对于第ii个状态(房子),有两种选择:偷(rob)、不偷(not rob)递推公式为: f(i)=max⎧⎩⎨⎪⎪{f(i−1)+vali,f(i−2)+vali,robi−1==0robi−1==1f(i−1),robnot robf(i)=max \begin{cases} \begin{cases} {f(i-1)+val_i,}&{rob_{i-1}==0} \\ {f原创 2015-07-09 20:53:14 · 228 阅读 · 0 评论 -
Sort List
对链表进行排序,要求时间复杂度为O(n log n) ,不使用额外的空间。我一开始的想法是借助quicksort的思想,代码如下:# time O(nlog(n))# Definition for singly-linked list.class ListNode: def __init__(self, x): self.val = x self.next原创 2015-07-10 15:35:22 · 228 阅读 · 0 评论 -
Kth Smallest Element in a BST
在BST中找到第k小的数。 递归class Solution: # @param {TreeNode} root # @param {integer} k # @return {integer} def kthSmallest(self, root, k): num_left_nodes=self.num_nodes(root.left)原创 2015-07-15 15:39:04 · 262 阅读 · 0 评论 -
Rectangle Area
如图,计算两个矩形所包含的面积。 如果两个矩形相交,则减去相交的小的矩形的面积。 相交无外乎以下几种情况 重要的是确定相交的小矩形的左下,右上两个坐标。class Solution: # @param {integer} A # @param {integer} B # @param {integer} C # @param {integer原创 2015-07-15 21:02:27 · 298 阅读 · 0 评论 -
First Missing Positive
太有才了,将值做索引用,把每个数放到对应的位置上。def firstMissingPositive_1(self, nums): n=len(nums) for i in xrange(n): while nums[i]>0 and nums[i]1 and nums[i]!=i+1 and nums[nums[i]-1]!=nums[i]:转载 2015-07-15 14:06:41 · 269 阅读 · 0 评论