一. 分治简单介绍
分治可以把总的大的问题拆成一个一个小问题,在小问题中仍然可以继续分成小的问题,个人认为和递归相比最重要的区别是,有没有分“左”和“右”,即拆成的左和右是否又都进行了同样的递归从而形成左和右加起来就可以形成整个问题的答案。
二. leetcode实战
(1) 例一
leetcode240
编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:
每行的元素从左到右升序排列。
每列的元素从上到下升序排列。
输入:matrix = [[1, 4, 7, 11, 15],
[2, 5, 8, 12, 19],
[3, 6, 9, 16, 22],
[10,13,14, 17, 24],
[18,21,23, 26, 30]],
target = 5
输出:true
输入:matrix = [[1,4,7,11,15],
[2,5,8,12,19],
[3,6,9,16,22],
[10,13,14,17,24],
[18,21,23,26,30]],
target = 20
输出:false