摘要: 一,题目 求一个数组的最长递减子序列 比如{9,4,3,2,5,4,3,2}的最长递减子序列为{9,5,4,3,2} 求一个数组的最长递增子序列 比如{1,-1,2,-3,4,-5,6,-7}的最长递减子序列为{1,2,4,3,6} 二,递增序列长度求解方法 解法一: 时间复杂度为 o(n^2) 遍历数组序列,每遍历一个数组元素,则求序列到当前位置 最长的递增序列数,用temp[i]存储。 注意,当前的最长递增子序列受已经遍历的最长递增子序列影响,从序列头 再遍历到当前位置的前一个位置,挨个... 阅读全文
posted @ 2012-08-20 23:35 MXi4oyu 阅读(190) 评论(0) 推荐(0)
摘要: 一,题目 四对括号可以有多少种匹配排列方式?比如两对括号可以有两种:()()和(())二,解答 解法一:左右括号成一对则抵消 可以将左括号看成1右括号看成 -1,然后对8个数进行全排列 对每个排列判断,是否符合条件,逐个相加,sum>=0直到遍历完该序列,符合条件则count++ 如果出现sum<0则失败 解法二:采用八位bit,从0000 0000 到 1111 1111遍历,遇到0加 -1遇到1加 1 如果加完该序列所有位等于0,且递加过程中sum始终大于零则符合条件三,源码#include<iostre... 阅读全文
posted @ 2012-08-20 18:54 MXi4oyu 阅读(251) 评论(0) 推荐(0)
摘要: 一,对于一个整数对于一个整数矩阵矩阵,存在一种运算,对矩阵中任意元素加一时,需要其相邻(上下左右)某一个元素也加一,现给出一正数矩阵,判断其是否能够由一个全零矩阵经过上述运算得到。 分析:对任意一个位置,他的值不大于周围(上下左右)4个临格的数值的和,如果大于则该矩阵不能由全零矩阵得到 解法一:可能是我能想到的最复杂的方法 1)将二维数组根据行优先原则,变为一维数组。 2)然后对一维数组进行排序,取不为零的值,将元素对应的值拆分成对应个数该元素,然后全排列。这样得到所有可能的矩阵元素递减策略。例如A[0][0] = 3则对应A[0]拆分成3个A[0]... 阅读全文
posted @ 2012-08-20 17:42 MXi4oyu 阅读(233) 评论(0) 推荐(0)