LeetCode刷题-分治法

LeetCode刷题-分治法

  • 概述
  • 经典分治
    • 二分
    • 快排
    • 合并排序
    • 顺序统计量
  • 例题
    • 多种元素(LeetCode169)

概述

分治算法就是将大问题转换为小问题来解决。原问题和子问题相同且互相独立。
划分:每个小问题由大问题划分而来,当达到边界条件时(最小规模为1)问题划分结束。划分时一般规模一致效率高,对半分。
解决小问题:每个小问题的解决方法一致。
结果:大问题的最终结果由每个小问题的结果合并得来,使用递归方法。

经典分治

二分

快排

合并排序

顺序统计量

例题

多种元素(LeetCode169)

题目描述:
给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 [n/2] 的元素。
你可以假设数组是非空的,并且给定的数组总是存在众数。

你可能感兴趣的:(算法,leetcode,分治算法)