概述
分治算法就是将大问题转换为小问题来解决。原问题和子问题相同且互相独立。
划分:每个小问题由大问题划分而来,当达到边界条件时(最小规模为1)问题划分结束。划分时一般规模一致效率高,对半分。
解决小问题:每个小问题的解决方法一致。
结果:大问题的最终结果由每个小问题的结果合并得来,使用递归方法。
经典分治
二分
快排
合并排序
顺序统计量
例题
多种元素(LeetCode169)
题目描述:
给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 [n/2] 的元素。
你可以假设数组是非空的,并且给定的数组总是存在众数。