常见算法之《分治算法》
背景:本文以一个分治算法代码实例来讲解分治算法实现的几个步骤
分治算法使用条件:
1、能拆分成子问题,且子问题小到一定规模是容易解的
2、子问题的解直接合并可以得到原问题的解
原则上满足以上两个条件即可用分治算法。
如果子问题之间相互独立则考虑分治算法,不独立则考虑用动态规划算法可以提高算法效率,因为动态规划算法可以保存子问题结果,减少计算。
编程题为 leetcode “连续数列”:
给定一个整数数组,找出总和最大的连续数列,并返回总和。
示例:
输入: [-2,1,-3,4,-1,2,1,-5,4]
原创
2020-11-19 15:16:58 ·
433 阅读 ·
0 评论