LeetCode刷题分类练习

文章目录

  • (一)分治法
  • (二)动态规划法
  • (三)贪心法
  • (四)回溯法

文字转载: https://baijiahao.baidu.com/s?id=1660742044135451900&wfr=spider&for=pc

(一)分治法

适用特征:该问题的规模缩小到一定的程度就可以容易地解决;可以分解为若干个规模较小的相同问题,即该问题具有最优子结构性质;利用该问题分解出的子问题的解可以合并为该问题的解;所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子子问题。

典型代表:二分搜索、棋盘覆盖、合并排序、最接近点对问题、循环赛日程表、汉诺塔…
例题:
翻转对
寻找两个正序数组的中位数
计算右侧小于该数的个数
天际线

(二)动态规划法

适用特征:该问题问题的最优解所包含的子问题的解也是最优的,即满足最优化原理;某状态以后的过程不会影响以前的状态,只与当前状态有关;子问题之间是不独立的,一个子问题在下一阶段决策中可能被多次使用到。

典型代表:最长公共子序列、最优二叉查找树、近似串匹配问题…
例题:
戳气球
有个解题思路的分享相当好,从回溯到分治到动态规划。
自由之路
DI 序列的有效排列
通配符匹配
解码方法 2

(三)贪心法

适用特征:该问题局部最优策略能导致产生全局最优解(贪心算法适用的情况很少)。

典型代表:TSP问题(最近邻点)、TSP问题(最短链接)、图着色、背包问题、多极度调度问题…
最大的团队表现值
拼接最大数
情侣牵手

(四)回溯法

适用特征:该问题是求解组合数量较大;需要找出该问题的解集(全部解)或者要求回答什么解是满足某些约束条件的最优解。

典型代表:哈密顿回路问题、八皇后问题、批处理作业调度…
例题:
给表达式添加运算符
通配符匹配
N皇后
铺瓷砖
黄金矿工
解数独

你可能感兴趣的:(实战区)