![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 71
qq_1213701132
这个作者很懒,什么都没留下…
展开
-
双指针 乘积小于 K 的子数组
双指针从广义上来说,是指用两个变量在线性结构上遍历而解决的问题。狭义上说,对于数组,指两个变量在数组上相向移动解决的问题;对于链表,指两个变量在链表上同向移动解决的问题,也称为「快慢指针」问题。双指针算法通常不难,双指针算法是基于暴力解法的优化,它们是很好的学习算法的入门问题。713. 乘积小于 K 的子数组class Solution {public: int numSubarrayProductLessThanK(vector<int>& nums, int原创 2022-05-06 22:32:09 · 407 阅读 · 0 评论 -
排序
插入类直接插入排序希尔排序选择类简单选择排序堆排序交换类冒泡排序快速排序归并排序原创 2020-07-12 21:04:42 · 127 阅读 · 0 评论 -
二分法
二分查找是计算机科学中最基本、最有用的算法之一。 它描述了在有序集合中搜索特定值的过程。二分查找中使用的术语:目标 Target —— 你要查找的值索引 Index —— 你要查找的当前位置左、右指示符 Left,Right —— 我们用来维持查找空间的指标中间指示符 Mid —— 我们用来应用条件来确定我们应该向左查找还是向右查找的索引在最简单的形式中,二分查找对具有指定左索引和右索...原创 2020-09-04 15:33:01 · 178 阅读 · 0 评论 -
队列与BFS
一、队列1.队列的定义队列是FIFO(先入先出) 数据结构。插入(insert)操作也称作入队(enqueue),新元素始终被添加在队列的末尾。 删除(delete)操作也被称为出队(dequeue),你只能移除第一个元素。2.队列的实现用动态数组实现的队列**class MyQueue { private: vector<int> data; ...原创 2020-01-07 14:02:03 · 590 阅读 · 0 评论 -
栈和DFS
1.理解 LIFO(后进先出) 和 栈的定义栈是一个 LIFO 数据结构。通常,插入操作在栈中被称作入栈 push,总是在堆栈的末尾添加一个新元素。删除操作,退栈 pop ,将始终删除栈中的最后一个元素。2.栈的实现用动态数组实现栈用数组完整的实现:顺序栈的实现3.内置栈的使用大多数流行的语言都提供了内置的栈库,我们需要知道常用的操作,如入栈和退栈。stack s //初始化...原创 2019-12-13 09:52:35 · 983 阅读 · 0 评论 -
动态规划
动态规划(英语:Dynamic programming,简称 DP)是一种在数学、管理科学、计算机科学、经济学和生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划常常适用于有重叠子问题和最优子结构性质的问题,动态规划方法所耗时间往往远少于朴素解法。动态规划背后的基本思想非常简单。大致上,若要解一个给定问题,我们需要解其不同部分(即子问题),再根据子问题的解以得出原问题的解。动态规划往往用于优化递归问题,例如斐波那契数列,如果运用递归的方式来求解会重复计算很多相同的子原创 2020-08-06 10:49:55 · 218 阅读 · 0 评论 -
贪心算法
贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。leetcode 435.无重叠区间leetcode 452. 用最少数量的箭引爆气球leetcode 56. 合并区间[leetcode 45. 跳跃游戏 II]...原创 2020-08-06 09:57:32 · 67 阅读 · 0 评论 -
回溯算法
解决一个回溯问题,实际上就是一个决策树的遍历过程。只需要思考 3 个问题:1、路径:也就是已经做出的选择。2、选择列表:也就是你当前可以做的选择。3、结束条件:也就是到达决策树底层,无法再做选择的条件。回溯算法的框架:result = []def backtrack(路径, 选择列表): if 满足结束条件: result.add(路径) return for 选择 in 选择列表: 做选择 backtrack(路径原创 2020-08-05 15:36:25 · 131 阅读 · 0 评论