摘要: 好吧,看到题目的第一反应是:定义一个成员变量用来保存最小值,每次压栈都通过比较刷新这个变量。 那么问题来了:如果最小值被弹出去了怎么办?那么此时单独一个变量可能已经不能满足需求了 说是拿一个辅助栈来存每一步的最小值,不管是插入弹出始终保持同步 嗯,这个“最小栈”拿什么来实现?我还想着会不会是数组什么 阅读全文
posted @ 2022-04-18 23:45 YaosGHC 阅读(29) 评论(0) 推荐(0)
摘要: 我们知道,栈是“先进后出”而队列是“先进先出”,那么要用两个栈来实现队列想必就是通过对栈中元素进行倒腾来实现 思路 假设两个栈:stack1和stack2 入队元素压入stack1 出队操作: 若stack2为空,则弹出stack1中的所有元素并压入stack2中,这样第一个弹出的便是最先进入栈中的 阅读全文
posted @ 2022-04-15 17:31 YaosGHC 阅读(34) 评论(0) 推荐(0)
摘要: 刚开始刷力扣的时候注意到一个不太一样的点。 以前写for循环都是for(xxx;xxx;i++)一路这么写过来,教材上面、老师讲课也一路是这么过来的。 但不太一样的是:发现力扣上的for循环都是这么写的for(xxx;xxx;++i),第三个语句都是i而不是i,而且并不只有for下、循环,题解中涉及 阅读全文
posted @ 2022-04-15 16:23 YaosGHC 阅读(197) 评论(0) 推荐(0)
摘要: 正经的贪心不好找哇,感觉一不留神就变成了动态规划。就连最经典的“找硬币”其实完全使用动态规划也不太对。 本体的关键在于一个**“最大可到达长度”** 思路: // 1. 根据当前位置更新初始的最大可到达长度 // 2. 移动到下一个位置,判断是否可达(值是否小于等于最大可达长度) // 3. 更新最 阅读全文
posted @ 2022-04-15 11:12 YaosGHC 阅读(40) 评论(0) 推荐(0)
摘要: 本来今天是想学习“贪心算法”,打算找两个题来边学边做。 然后精挑细选选了这题,本来冲着“贪婪”去,瞟一眼题就打算去看题解,然后题解说:最优解是双指针。 啊双指针我会啊,我真蠢😂居然没看出来。然后就写,感觉多简单的 class Solution { public: int maxArea(vecto 阅读全文
posted @ 2022-04-15 09:40 YaosGHC 阅读(32) 评论(0) 推荐(0)
摘要: 144-二叉树的前序遍历 前序遍历定义:按照D->L->R的顺序访问节点 先访问根节点D 按照先序次序遍历D的左子树 按照先序次序访问D的右子树 class Solution { public: void preorder(TreeNode *root,vector<int> &res){ // 专 阅读全文
posted @ 2022-04-05 17:44 YaosGHC 阅读(47) 评论(0) 推荐(0)
摘要: 快排 快排是对冒泡的改进,采用分治策略 时间复杂度O(n log n),最好情况O(n log n),最坏情况退化为O(n^2^),空间复杂度O(log n) 基本步骤是: 从待排序列中选定一个“基准” 对序列进行“划分”,比“基准”大的元素放到其右边,比“基准”小的元素放到其左边 对“基准”左右两 阅读全文
posted @ 2022-04-03 02:16 YaosGHC 阅读(42) 评论(0) 推荐(0)
摘要: 102-二叉树的层次遍历 使用队列实现 思路: 将根节点的指针插入到队中 当队列不为空则(循环) 队首元素出栈,并访问其指向的节点 若当前节点的左/右孩子不为空,则将其指针依次入队 代码如下: class Solution { public: vector<vector<int>> levelOrd 阅读全文
posted @ 2022-03-30 19:05 YaosGHC 阅读(43) 评论(0) 推荐(0)
摘要: 118-杨辉三角 瞟了一眼题解,还是继续动态规划,状态转移方程是:yangHui[i][j] = yangHui[i - 1][j - 1] + yangHui[i - 1][j]; 第i行第j个元素=第i-1行 第j-1个元素+第j个元素 然后代码是: class Solution { publi 阅读全文
posted @ 2022-03-26 16:19 YaosGHC 阅读(45) 评论(0) 推荐(0)
摘要: 53-最大子数和 2022/10/29 重做 dp数组定义为:以i结尾的子数组的最大和 这样相对于定义为:前i个元素的最大子数和同样能做到全覆盖(但是这样没办法保证连续,子序列或许能这么用) 状态转移方程为: 如果f(i-1)<0,则对最大字数和无贡献,f(i) = nums[i] 如果f(i-1) 阅读全文
posted @ 2022-03-25 13:39 YaosGHC 阅读(37) 评论(0) 推荐(0)