?不是很理解的分治法Majority Element
来源:互联网 发布:千里马计划软件下载 编辑:程序博客网 时间:2024/05/16 05:12
class Solution {public: int majorityElement(vector<int>& nums) { return majority(nums, 0, nums.size() - 1); }private: int majority(vector<int>& nums, int left, int right) { if (left == right) return nums[left]; int mid = left + ((right - left) >> 1); int lm = majority(nums, left, mid); int rm = majority(nums, mid + 1, right); if (lm == rm) return lm; return count(nums.begin() + left, nums.begin() + right + 1, lm) > count(nums.begin() + left, nums.begin() + right + 1, rm) ? lm : rm; }};代码是这样的,也大致理解分治法,就是把一个大区域问题分成小区域问题,分而治之,然后递归就比较常用。然而不是很懂这里的,这里就是把这个数列对折对折对折,然后递归,往下走的过程就是走到每一个元素,往上走就是已知左右两侧序列的majority,然后求现在序列的majority。代码流程看懂了,但是不理解为啥这么搞.....
0 0
- ?不是很理解的分治法Majority Element
- LeetCode169. Majority Element分治法
- 169. Majority Element 分治解法
- LeetCode 169.Majority Element--Divide and Conquer(分治法)
- 169. Majority Element 难度:Easy 类别:分治
- [LeetCode] 分治法学习之 Majority Element
- Majority Element 主要的元素
- majority element
- Majority Element
- Majority Element
- Majority Element
- Majority Element
- Majority Element
- Majority Element
- Majority Element
- Majority Element
- Majority Element
- Majority Element
- 集群启动快速指南
- blocked Queue
- Eclipse在连接hadoop时Unsupported major.minor version 51.0问题解决
- bash shell
- 音频条形图,顶部带小矩形
- ?不是很理解的分治法Majority Element
- mysql主从配置
- 获取总内存?
- [数据结构]第八章-字典
- 计算机运算中对小数的处理
- hadoop或者spark 增加节点
- 笔试题86. LeetCode OJ (72)
- StringBuffer、StringBuilder的区别?
- jquery异步调用自数据库获取值通过knockoutjs赋值给职位二级菜单导致的jquery的hover事件不执行的例子