09 2016 档案
摘要:题目:给定二叉树的前序遍历和中序遍历,生成二叉树。 Example: 前序遍历数组:preArr[]:{1,2,4,5,3,6,7} 中序遍历数组:inArr[]:{4,2,5,1,6,3,7} 生成的二叉树如下图: 解题思路: 由二叉树的前序变量性质可知:preArr[0] 是数组的根节点,有根据
阅读全文
摘要:题目:给定一个二叉树的后序遍历数组arr[],生成二叉树 解题思路:根据搜索二叉树的性质,数组的最后一位arr[end]是二叉树的根,而且数组的左部分比arr[end]小,是根节点的左子数,数字的右部分比arr[end]大,是数组的右子数。 Example: 树的形状如上图,后序遍历为:1 3 2
阅读全文
摘要:题目:餐馆有n张桌子,每张桌子有只能坐固定的人数,现在有批客户每批客户有a人,消费金额是c,请问怎样安排客户,餐馆获利最多 Example: n张桌子的容纳人数:{2,4,2} 客户批次和消费金额{1,3}、{3,5},{3,7},{5,9},{1,10} 解题思路先把桌子的容纳人数排序,然后对客户
阅读全文
摘要:Given two integers n and k, return all possible combinations of k numbers out of 1,2,...,n. 题目二:给定一个数组arr[]和一个整数k,在数组中选择元素组成一个长度为K的数组,打印最终的子数组 Example
阅读全文
摘要:题目:给定一个数组,选择数组中的逆序对 arr={5,8,7,6,4} arr数组中的逆序对:{5,4}、{8,7}、{8,6}、{8,4}、{7,6}、{6,4} 解题思路:如果通过遍历每个数,然后寻找逆序对,主要的时间复制度是O(N^2),通过归并排序的方法寻找逆序对的时间复制度O(NlogN)
阅读全文
摘要:Given a positive integer n, find the least number of perfect square numbers (for example, 1, 4, 9, 16,...) which sum to n. For example, given n = 12 ,
阅读全文
摘要:题目:输入一个整数数字,输出该数字的中文拼音 比如:54 wushisi 100 yibai 6006 liuqianlingliu 60006 liuwanlingliu 解题思路: 首先要把数字的读音和数字对应起来,十位、百位、千位。。。等等的读音对应起来 接下来要考虑到几种情况: 1、各位为零
阅读全文
摘要:输入一个数字n,顺时针生成一个n阶矩阵。 比如输入n = 5,生成矩阵如下 1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 8 该题只要考虑比较好的办法是从外到内一圈一圈的打印,就如下图所示: 在按圈进行生成的时候需要考虑到两个坐标和截至条件,左上角(t
阅读全文
摘要:Given three strings: s1, s2, s3, determine whether s3 is formed by the interleaving of s1 and s2. Example For s1 = "aabcc", s2 = "dbbca" When s3 = "aa
阅读全文
摘要:There are n coins in a line. Two players take turns to take one or two coins from right side until there are no more coins left. The player who take t
阅读全文
摘要:Given n items with size Ai, an integer m denotes the size of a backpack. How full you can fill this backpack? Example If we have 4 items with size [2,
阅读全文
摘要:A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below). The robot can only move either down or right at any p
阅读全文
摘要:Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which minimizes the sum of all numbers along its path.
阅读全文
摘要:大概题意是这样的 输入一个数字,顺时针生成一个N阶的矩阵 比如:输入数字为: 3 生成矩阵为: 1 2 3 8 9 4 7 6 5 解题思路:我们考虑一圈一圈的生成矩阵,先生成最外面的一圈,然后生成第二圈。。。。 生成矩阵的时候我们要考虑边界的问题,通过矩阵的对角线的两个端点,因为矩阵是一个N x
阅读全文
摘要:You are climbing a stair case. It takes n steps to reach to the top. Each time you can either climb 1 or 2 steps. In how many distinct ways can you cl
阅读全文
摘要:Given an index k, return the kth row of the Pascal's triangle. For example, given k = 3,Return[1,3,3,1]. Note:Could you optimize your algorithm to use
阅读全文
摘要:Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent numbers on the row below. For example, given the fo
阅读全文
摘要:Given a string s, partition s such that every substring of the partition is a palindrome. Return the minimum cuts needed for a palindrome partitioning
阅读全文
摘要:题目:给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢?输出需要删除的字符个数。 思路:该题目可以先将字符串s倒序然后求倒序字符串与原来字符串的最长公共子序列(动态规划:dp[i][j] 表示的是Str1[0...i] 与 Str2[0...j] 的最
阅读全文