C++基础数据结构算法 | 分治法(Divide and Conquer)
- Divide分解成子问题
- Conquer求解子问题
- combine(merge)合并子解答
func majorityElement(nums []int) int {
return divide(nums,0,len(nums)-1)
}
func divide(nums []int,left int,right int)int{
if left == right {
return nums[left]
}
mid := left + (right-left)/2
leftRes:=divide(nums,left,mid)
rightRes:=divide(nums,mid+1,right)
if leftRes==rightRes{
return leftRes
}
leftCount:=cal