摘要: 根据二叉树的前序遍历和中序遍历构造二叉树。思路:前序遍历的第一个节点就是根节点,扫描中序遍历找出根结点,根结点的左边、右边分别为左子树、右子树中序遍历。再计算左子数长度leftLength,前序遍历根结点后的leftLength长度为左子树的前序遍历,剩下的为右子树的前序遍历,代码如下: 1 /**... 阅读全文
posted @ 2014-11-26 10:48 bournet 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 问题描述:n个台阶,每次只能跨1个或者2个,求有多少种方法。ways[i]:i个台阶的方法。可能是由i-1个台阶跨1个或者由i-2个台阶,转化为斐波那契数列,即1 int climbStairs(int n)2 {3 if (n == 1)4 return 1;5 e... 阅读全文
posted @ 2014-11-20 09:57 bournet 阅读(131) 评论(0) 推荐(0) 编辑
摘要: Find the contiguous subarray within an array (containing at least one number) which has the largest sum.For example, given the array[−2,1,−3,4,−1,2,1,... 阅读全文
posted @ 2014-11-19 16:43 bournet 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 题目https://oj.leetcode.com/problems/populating-next-right-pointers-in-each-node/对每个节点递归。 1 /** 2 * Definition for binary tree with next pointer. 3 * ... 阅读全文
posted @ 2014-11-19 11:07 bournet 阅读(126) 评论(0) 推荐(0) 编辑
摘要: Givenn, how many structurally uniqueBST's(binary search trees) that store values 1...n?For example,Givenn= 3, there are a total of 5 unique BST's. 1... 阅读全文
posted @ 2014-11-18 15:50 bournet 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 描述有一个长为n的数列a0,a1,…,an-1。求出这个序列中最长的上升子序列长度。上升子序列指的是对于任意的i < j,都满足ai < aj的子序列。输入n = 5a = {4,2,3,1,5}输出3(a1,a2,a4构成的子序列2,3,5最长)这个问题是被称作最长上升子序列的著名问题。这一问题通... 阅读全文
posted @ 2014-11-15 20:36 bournet 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 有n种重量和价值分别为wi,vi的物品。从这些物品中挑选总重量不超过W的物品,求出挑选物品价值总和的最大值。每种物品可以挑选任意多件。令dp[i+1][j]:=从前i种物品中挑选总重量不超过j时总价值的最大值。那么递推关系为:根据递推关系编写代码: 1 void solve() 2 { 3 ... 阅读全文
posted @ 2014-11-15 17:23 bournet 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 各有n个整数的四个数列A、B、C、D。要从每个数列中各取一个数,使四个数的和为0。求出这样组合的个数。输入n = 6A = { -45, -41, -36, -36, 26, -32 }B = { 22, -27, 53, 30, -38, -54 }C = { 42, 56, -37, -75, ... 阅读全文
posted @ 2014-10-29 11:18 bournet 阅读(592) 评论(0) 推荐(0) 编辑
摘要: n个物品的重量和价值分别是wi和vi。从中选取k个物品使单位重量的价值最大输入n = 3k = 2(w, v) = { (2, 2), (5, 3), (2, 1) }输出0.75(选择0和2号物品,平均价值是(2+1)/(2+2) = 0.75)一般最先想到的方法可能是把物品按照单位价值排序,从大... 阅读全文
posted @ 2014-10-29 10:14 bournet 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 判断一个链表是否为循环链表。 1 /** 2 * Definition for singly-linked list. 3 * struct ListNode { 4 * int val; 5 * ListNode *next; 6 * ListNode(int x... 阅读全文
posted @ 2014-10-27 21:58 bournet 阅读(130) 评论(0) 推荐(0) 编辑