leetcode algorithm-07
17 Jun 2020
|
|
本文主要针对分治法和二分法两种算法,两者都是与O(logn)复杂度相关的算法。 对以上两种算法进行例题的整理和思路的分析,从中寻找思维的共同性,主要还是激发思考。
分治算法
题1:Different Ways to Add Parentheses
思路:分治算法的本质其实就是递归函数。关于字符串的计算结果,其实就是优先级的结合,这里可以采用分治法来完成局部的计算。
分治法作为递归,可以不考虑记忆化存储的问题,这里的时间优化,很多时候都挺麻烦的。
二分法
思路:二分法就是按照一定规律成倍缩小查找区间的方法,不一定是大小的要求,只要是能够成规模地缩小区间范围即可。该题根据nums[i]和nums[i+1]的关系缩小区间(左右边界)。