2014年11月7日

最长递减子序列 【微软面试100题 第四十七题】

摘要: 题目要求: 求一个数组的最长递减子序列; 比如{9,4,3,2,5,4,3,2}的最长递减子序列为{9,5,4,3,2}。代码实现:代码1:动态规划,时间复杂度O(N^2).#include using namespace std;const int N = 8;int Lis(int a[],... 阅读全文

posted @ 2014-11-07 19:05 tractorman 阅读(243) 评论(0) 推荐(0)

括号问题 【微软面试100题 第四十六题】

摘要: 题目要求: 四对括号可以有多少种匹配排列方式?比如两对括号可以有两种:()()和(())题目分析: 之前左括号的数量必须比右括号多,即卡特兰数, 令h(0)=1,h(1)=1,catalan数满足递推式, h(n)= h(0)*h(n-1)+h(1)*h(n-2) + ... + h(n-1... 阅读全文

posted @ 2014-11-07 15:41 tractorman 阅读(223) 评论(0) 推荐(0)

矩阵运算 【微软面试100题 第四十五题】

摘要: 题目要求: 对于一个整数矩阵,存在一种运算,对矩阵中任意元素加一时,需要其相邻(上下左右)某一个元素也加一,现给出以正数矩阵,判断其是否能够由一个全零矩阵经过上述运算得到。题目分析: 使用贪心算法。代码实现: #include using namespace std;const int N =... 阅读全文

posted @ 2014-11-07 15:33 tractorman 阅读(437) 评论(0) 推荐(0)

设计一个魔方(六面)的程序 【微软面试100题 第四十四题】

摘要: 题目要求: 设计一个魔方(六面)的程序。题目分析: 把魔方从正面看展开成一个平面,如图1所示。设计一个类,其中Spacexy[SPACE][LEN][LEN];中的SPACE为0~5表示六个面,每个数字代表哪一面见图1.LEN为0~2,[LEN][LEN]表示某个面的3*3的9个格子。 类中的... 阅读全文

posted @ 2014-11-07 15:21 tractorman 阅读(2410) 评论(0) 推荐(0)

导航