随笔分类 - 算法设计
该界面是从力扣上面挑选的简单的中等的入门题目
摘要:回溯法 含义:类似枚举,一层一层往下递归寻找答案,尝试搜索答案,如果找到了答案,则返回答案,并且寻找其他可能的答案。如果没找到,则像上一层递归寻找可能的答案。 回溯算法也是递归算法的一种。 为什么要回溯呢?或者说为什么用到回溯算法呢? 因为我们不是要找到一个排列就好了,而是需要找出所有满足条件的排列
阅读全文
摘要:分治法 分治法: 数学概念 分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。即一种分目标完成程序算法,简单问题可用二分法完成。--百度百科。 基本思想 当我们求解某些问题时,由于这些问题要处理的数据相当多,
阅读全文
摘要:递归算法 递归算法是一种通过调用自身来解决问题的算法。递归算法通常涉及到将一个问题划分为较小的子问题来解决,并在子问题中调用自身来完成。 递归算法的基本思想是,将一个大问题转化为一个或多个相同结构的小问题,直到问题变得足够小以便直接解决。然后将这些小问题的解组合成原始问题的解。在递归算法中,一个函数
阅读全文
摘要:概述 算法面试过程中,经常会遇到求解满足某种条件的子串问题,对于这种类型的题,一般可以使用双指针或滑动窗口解答,滑动窗口问题可以认为是一种特殊的双指针。 使用场景 滑动窗口法常用于求解满足某种条件的某段连续区间的最短或最长子序列(一般为子数组、子字符串等),如: 1)最小摘要 2)和大于给定目标值的
阅读全文