摘要: MS100 [046]括号排列数四对括号可以有多少种匹配排列方式?比如两对括号可以有两种:()()和(())思路:12种MS100 [047]最长递减子序列求一个数组的最长递减子序列比如{9,4,3,2,5,4,3,2}的最长递减子序列为{9,5,4,3,2}思路:经典动态规划,方案一,记录max[i]为以a[i]接尾的最长递减子序列长度,从0到n-1不断更新max数组即可。O(n^2)方案二,使用数组b[t]表示长度为t的递减子序列的末尾值的最大值,显然b[t]数组单调递减(初始化为最小值)。每次二分查找b数组,找t使b[t-1] > a[i] && b[t] m_pN 阅读全文
posted @ 2012-10-08 21:55 moonswap 阅读(167) 评论(0) 推荐(0) 编辑
摘要: MS100 [021]编程求解:输入两个整数n 和m,从数列1,2,3.......n 中随意取几个数,使其和等于m ,要求将其中所有的可能组合列出来.思路:纯编程题,只能暴力求解。MS100 [024]反转单链表和合并链表思路:反转注意处理头尾,编程题。合并两个链表时,可用:while(lista!=null || listb!=null){ if(listb==null || lista->value value){ ... } else{ ... } }MS100 [027]跳台阶问题题目:一个台阶总共有n 级,如果一次... 阅读全文
posted @ 2012-10-08 00:56 moonswap 阅读(159) 评论(0) 推荐(0) 编辑