
分治与减治
训练有素的咸鱼
Young·Saltedfish
(扬·索顿费斯)
P社大学历史系硕士
(History Master of Paradox University)
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
1.减治法求最大子序和
给定n个整数(可能有负)的序列,求最大子段和 例如序列(-20,11,-4,13,-5,-2)最大子段和为20(子段为{11,-4,13}) 思路: 这道题目的难点在于子段起点和终点不确定:想想吧,如果题目规定必须包含a[0],那还不好求吗? 只要设置两个变量a,b,a负责记录前最大值,b负责从a[0]累加到a[n],如果b>a,则令a=b,只需扫描一趟就能求解出来。 ...原创 2019-04-13 15:48:05 · 667 阅读 · 0 评论 -
2.分治法求解棋盘问题
一、问题:对于一个 2^k * 2^k (k>=0) 的棋盘,恰有一个方格(下称为特殊方格)与其他不同,请用如下4种L型骨牌将除了特殊方格以外的格子覆盖,骨牌间不可重复覆盖 例题: 答案 ---------------- ---------------- | | | | | | 1 | 1 | 2 | 2 | ...原创 2019-04-15 15:47:56 · 1910 阅读 · 1 评论 -
3.从中序与后序遍历序列构造二叉树(leetcode 106)
根据一棵树的中序遍历与后序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 例如,给出 中序遍历 inorder =[9,3,15,20,7] 后序遍历 postorder = [9,15,7,20,3] 返回如下的二叉树: 3 / \ 9 20 / \ 15 7 思路: 分治算法。后序遍历嘛,那么后序遍历数组postord...原创 2019-05-25 20:40:36 · 128 阅读 · 0 评论