逛街 问题描述小Q在周末的时候和他的小伙伴来到大城市逛街,一条步行街上有很多高楼,共有n座高楼排成一行。 小Q从第一栋一直走到了最后一栋,小Q从来都没有见到这么多的楼,所以他想知道他在每栋楼的位置处能看到多少栋楼呢?(当前面的楼的高度大于等于后面的楼时,后面的楼将被挡住) 输入描述:输入第一行将包含一个数字n,代表楼的栋数,接下来的一行将包含n个数字wi(1<=i<=n) 2023-10-25 算法 > 队列和栈 #算法
柱状图中最大的矩形 84. 柱状图中最大的矩形 - 力扣(LeetCode)给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 示例 1: 123输入:heights = [2,1,5,6,2,3]输出:10解释:最大的矩形为图中红色区域,面积为 10 示例 2: 12输入: heights = [2,4]输出: 4 提示: 2023-10-20 算法 > 队列和栈 #算法
接雨水 42. 接雨水 - 力扣(LeetCode)给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 123输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 示 2023-10-18 算法 > 队列和栈 #算法
下一个更大元素 1496. 下一个更大元素 I - 力扣(LeetCode)nums1 中数字 x 的 下一个更大元素 是指 x 在 nums2 中对应位置 右侧 的 第一个 比 x 大的元素。 给你两个 没有重复元素 的数组 nums1 和 nums2 ,下标从 0 开始计数,其中nums1 是 nums2 的子集。 对于每个 0 <= i < nums1.length ,找出满足 nums1[i] 2023-10-16 算法 > 队列和栈 #算法
下一个更大元素Ⅱ 503. 下一个更大元素 II给定一个循环数组 nums ( nums[nums.length - 1] 的下一个元素是 nums[0] ),返回 nums 中每个元素的 下一个更大元素 。 数字 x 的 下一个更大的元素 是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出 -1 。 示例 1: 12345输入: nums = [1, 2023-10-16 算法 > 队列和栈 #算法
每日温度 739. 每日温度 - 力扣(LeetCode)给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。 示例 1: 12输入: temperatures = [73,74,75,71,69,72,76,73]输出: [1,1,4,2, 2023-10-15 算法 > 队列和栈 #算法
求图的最短路径 求图的最短路径 初始化图 123456789101112131415161718192021222324static final int n = 5;public static void main(String[] args) { int[][] matrix = new int[n][n]; for (int i = 0; i < n; i++) { 2023-10-15 算法 > 图 #算法
设计模式基础 设计模式什么是设计模式? 设计模式 Design Pattern 是⼀套被反复使⽤、多数⼈知晓的、经过分类编⽬的、代码设计经验的总结,使⽤设计模式是为了可重⽤代码、让代码更容易被他⼈理解、保证代码可靠性。 设计模式的4个元素 pattern name模式名称,一个助记名,它用两个词来描述模式的问题、解决方案和效果。 problem问题,描述了应该在何时使用模式。 solution解决方案,描述了设 2023-10-15 计算机基础 > 设计模式 #计算机基础
单例模式 单例模式单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,使用单例模式的类只有一个对象实例。 单例应用场景 Windows系统的任务管理器。 Windows系统的回收站。 操作系统的文件系统,一个操作系统只能有一个文件系统。 数据库连接池的设计与实现。 多线程的线程池设计与实现。 Spring中创建的Bean实例默认都是单例。 Java- 2023-10-15 计算机基础 > 设计模式 #计算机基础
适配器模式 适配器模式将一个接口转换成客户希望的另一个接口,使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。简单的说就是用来做适配的,它将不兼容的接口转换为可兼容的接口,让原本由于接口不兼容而不能一起工作的类可以一起工作。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。在业务开发中我们会经常的需要做不同接口的兼容,比如需要把各个业务线的各种类型服务做统一包装,再对外提供接口进行 2023-10-15 计算机基础 > 设计模式 #计算机基础