定义
用到了递归的思想
例子
归并排序——用到的思想就是分治法
从小到大进行依次排序
步骤:每次都对半分,对半分,一直分到集合里面只有一个数的时候。(分解到不可以再分为止)
最后分成了一个个数,即一个个小问题。
然后,把分解的结果往上推。
首先:两两排序,7,8排好序为78
4,1排好序为14 6,5排好序为56
2,3排好序为23
再把上部分得到的小解,两两排序。
78和14排序——1478
56和23排序——2356
在把解排序即1478和2356排序——12345678
题目169
思路+伪代码
第一种:(分治法)
使用分治法解决这个问题:将数组分成左右两部分,分别求出左半部分的众数 a1 以及右半部分的众数 a2,随后在 a1 和 a2 中选出正确的众数。
第二种:(排序)
遇到问题先想想先排序 排序之后看有没有什么新发现
这道题排序之后,最多元素刚好是位于中间元素。
第三种:(哈希表)
遍历整个数组,记录每个数值出现的次数(利用HashMap,其中key为数值,value为出现次数);
接着遍历HashMap中的每个键值对,寻找value值> nums.length / 2的key即可。
遍历一遍数组:key表示数组中的某个数,value表示该数出现了几次,当统计到某数出现的次数大于数组一半时返回该数。
第四种(摩尔投票法即投票法)
遇到相同的即友军,加一,增强了自己军队的兵力
遇到不同的,则为敌人,用自己的兵杀敌人的兵,以一抵一,减一。
注意: