![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
文章平均质量分 72
Mekeater
梦想似乎很遥远,但我愿用一生去追逐。
展开
-
基数排序O(n)时间复杂度的实现
本文讲解基数排序的算法思想及O(n)时间复杂的两种算法实现原创 2024-06-13 11:20:47 · 421 阅读 · 2 评论 -
4道LeetCode一起学烂回溯算法
回溯算法本身是一种穷举所有可能的暴力解法,只是它可以在穷举的过程通过剪枝操作避免一些不合理的情况,并且在回溯的过程中尽可能的保留已有的结果。回溯算法解决的是所有可能组合的问题。回溯函数框架结束条件1.1. 满足结束条件,则将当前选择组合存入全局变量中(结果添加)1.2. 结束本次递归(返回操作)遍历所有可选择情况(可选选择)2.1. 判断当前所做的选择是否合法(剪枝操作)2.2. 将当前选择加入路径(路径添加)2.3. 递归回溯函数做下个元素原创 2021-08-10 12:05:45 · 21 阅读 · 0 评论 -
16道LeetCode学烂动态规划
n道LeetCode学烂动态规划前言动态规划思路:某一项依赖于其它项,而其它项又可以先求出,那么就可以考虑动态规划。动态规划关键是动态转移方程,而列出动态转移方程关键是设好dp的含义,就像小学就求解应用题一样,要先【设】,再列方程。动态规划方程出来后,要考虑初始化情况,从初始化依次计算出其后的所有项。本质就是用空间换时间,即保存计算过程,依据前面的计算得到后面的计算。1. 爬楼梯问题爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你原创 2021-08-09 10:37:32 · 157 阅读 · 0 评论 -
9道LeetCode学烂单调栈
9道LeetCode学烂单调栈前言本文讲解利用单调栈去解决一些问题,总结出单调栈能解决的问题是什么?思考单调栈为什么能解决这类问题?以及单调栈解决问题的基本模板。一、单调栈维护栈中元素从栈顶到栈底递增或者递减的栈。单调递增栈:栈顶到栈底元素单调递增,或栈底到栈顶元素单调不增。单调递减栈:栈顶到栈底元素单调递减,或栈底到栈顶元素单调不减。二、单调栈的基本应用场景解决的一个数组中,找出某个元素后面第一个比该元素大或者小的值(next greater element问题)。为什么单调栈能够解决n原创 2021-05-13 22:17:26 · 265 阅读 · 1 评论