代码随想录算法训练营第六十天|单调栈part03|● 84.柱状图中最大的矩形

news/2024/11/23 23:42:31/
  •  84.柱状图中最大的矩形 Largest Rectangle in Histogram - LeetCode

单调栈这几题没过脑,感觉一团浆糊,要重新看一下

class Solution {public int largestRectangleArea(int[] heights) {Stack<Integer> stack = new Stack<>();int[] newHeights = new int[heights.length + 2];newHeights[0] = 0;newHeights[newHeights.length - 1] = 0;for (int i = 0; i < heights.length; i++) {newHeights[i + 1] = heights[i];}heights = newHeights;stack.push(0);int res = 0;for (int i = 1; i < heights.length; i++) {if (heights[i] > heights[stack.peek()]) {stack.push(i);} else if (heights[i] == heights[stack.peek()]) {stack.pop();stack.push(i);} else {while (heights[i] < heights[stack.peek()]) {int mid = stack.peek();stack.pop();int left = stack.peek();int right = i;int w = right - left - 1;int h = heights[mid];res = Math.max(res, w * h);}stack.push(i);}}return res;}
}

总结:

60天的时间真的是一晃就过了,好像2,3月就看到了打卡营的信息,一直没有参加,后来6月的时候才参加,要是早几个月的话,现在已经刷了好几遍题了,但如果6月的时候我没有参加这一期,估计到现在也还是在盲目的刷题,也不知道原来自己可以坚持每天打卡,系统的把139题过一遍。刷了这好几年的题,都是自己乱刷,一开始就应该系统的学习,当年报个小班进了大厂,钱早就挣回来了。

很高兴这次坚持了下来,Leetcode刷了600题,但遇到新题还是不会,面试就算遇到原题有时候也不能bug free的写下来,这次遇到的题目基本之前都做过,但重新学习还是收获良多。准备二刷了,再加上blind 75,剑指offer之类的,去掉重复的题,估计会有个150左右,先吃透这些题再追求数量吧。这个leetcode的账号是21年开始的,如果那时候好好的系统的刷了,早就在市场最热的时候去了大厂了,不会到现在这个结局。

往事已以,要关注当下,加油吧!


http://www.ppmy.cn/news/1006027.html

相关文章

Oracle锁的学习

Oracle数据库中的锁机制 数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时&#xff0c;在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据&#xff0c;破坏数据库的一致性。 在数据库中有两种基本的锁类…

纯css实现九宫格图片

本篇文章所分享的内容主要涉及到结构伪类选择器&#xff0c;不熟悉的小伙伴可以了解一下&#xff0c;在常用的css选择器中我也有分享相关内容。 话不多说&#xff0c;接下来我们直接上代码&#xff1a; <!DOCTYPE html> <html lang"en"><head>&l…

三星进军机器人市场?特斯拉首款人形机器人“擎天柱”明年上市

根据报道&#xff0c;三星电子正在积极研究进军机器人市场的战略。此战略由三星电子的Device eXperience&#xff08;DX&#xff09;部门的专业企划小组制定。据可靠消息透露&#xff0c;该企划小组已着手制定相关计划&#xff0c;以推动公司在机器人市场的发展。 根据外媒报道…

Vue2 第十九节 Vuex (一)

1.理解Vuex 2.Vuex工作原理 3.求和案例 4.Vuex的开发者工具 一.理解Vuex ① 概念&#xff1a;专门在Vue中实现集中式状态&#xff08;数据&#xff09;管理的一个Vue插件&#xff0c;对vue应用中多个组件的共享状态进行集中式的管理&#xff08;读/写&#xff09;&#xf…

【LeetCode-简单】剑指 Offer 52. 两个链表的第一个公共节点

题目 输入两个链表&#xff0c;找出它们的第一个公共节点。 如下面的两个链表&#xff1a; 在节点 c1 开始相交。 输入&#xff1a;intersectVal 8, listA [4,1,8,4,5], listB [5,0,1,8,4,5], skipA 2, skipB 3 输出&#xff1a;Reference of the node with value 8 输…

Mysql推荐使用规范

一:基础规范 1、使用InnoDB存储引擎 支持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高 2、推荐使用utf8mb4字符集 无需转码&#xff0c;无乱码风险, 支持emoji表情以及部分不常见汉字 3、表、字段必须加注释 方便他人理解字段意思。 4、不在数据…

Redis 安装以及配置隧道连接

目录 1.CentOS 1. 安装Redis 2. Redis 启动和停⽌ 3. 操作Redis 2.Ubuntu 1. 安装Redis 2. Redis 启动/停⽌ 3. 操作 Redis 3.开启隧道 3.1 Xshell 配置隧道 3.2 windTerm 配置隧道 3.3 FinalShell配置隧道 4.可视化客户端连接 Another Redis Desktop Manager 1.Cen…

ICN6202 MIPIDSI转LVDS桥接芯片的功能及特征 调试文档资料

产品特征功能&#xff1a; 输入&#xff1a;MIPI DSI 支持MIPI D-PHY Version 1.00.00 和 MIPI DSI Version 1.02.00. 可接收MIPI DSI 18bpp RGB666 and 24bpp RGB888 packets 4 lane data1 lane clock 4对数据线可以选择1、2、3、4lane data 每对差分数据传输线最大可…