- 博客(103)
- 资源 (1)
- 收藏
- 关注
原创 力扣第407题-接雨水2
的矩阵,其中的值均为非负整数,代表二维高度图每个单元的高度,请计算图中形状最多能接多少体积的雨水。下雨后,雨水将会被上图蓝色的方块中。总的接雨水量为1+2+1=4。解此题,可以先看看接雨水1,
2025-07-04 13:54:57
351
原创 力扣第88题-合并两个有序数组
注意,因为 m = 0 ,所以 nums1 中没有元素。nums1 中仅存的 0 仅仅是为了确保合并结果可以顺利存放到 nums1 中。,5,6] ,其中斜体加粗标注的为 nums1 中的元素。最终,合并后数组不应由函数返回,而是存储在数组。需要合并 [1,2,3] 和 [2,5,6]。需要合并的数组是 [] 和 [1]。个元素表示应合并的元素,后。需要合并 [1] 和 []。中,使合并后的数组同样按。合并结果是 [1]。合并结果是 [1]。
2025-06-29 22:15:01
201
原创 力扣第87题-扰乱字符串
从一个位置将两个字符串分别划分成两个子串,然后递归判断两个字符串的两个子串是否互相为扰乱字符串。因为不知道在哪个位置分割字符串,所以直接遍历每个位置进行分割。在判断是否两个子串能否通过翻转变成相等的时候,需要保证传给函数的子串长度是相同的。记忆化递归用到python的缓存库,将已经计算过的结果保存到缓存中,再计算时在缓存中,不用再次计算。终止条件就是,当长度是1的两个字符串是否相等。我们分两种情况讨论:互换和不互换。
2025-06-29 21:38:00
207
原创 力扣第84题-柱状图中最大的矩形
个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1。求在该柱状图中,能够勾勒出来的矩形的最大面积。最大的矩形为图中红色区域,面积为 10。
2025-06-29 16:27:54
281
原创 力扣第79题-单词搜索
单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。
2025-06-29 10:48:52
209
1
原创 力扣第76题-最小覆盖子串
最小覆盖子串 "BANC" 包含来自字符串 t 的 'A'、'B' 和 'C'。t 中两个字符 'a' 均应包含在 s 的子串中,因此没有符合条件的子字符串,返回空字符串。所有字符的子串,则返回空字符串。整个字符串 s 是最小覆盖子串。所有字符的最小子串。
2025-06-28 22:50:35
389
原创 力扣第75题-颜色分类
对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。必须在不使用库内置的 sort 函数的情况下解决这个问题。给定一个包含红色、白色和蓝色、共。分别表示红色、白色和蓝色。
2025-06-28 21:42:36
170
原创 力扣第62题-不同路径-63题不同路径2
机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。网格的左上角 (起始点在下图中标记为 “Start” )。1. 向右 -> 向右 -> 向下 -> 向下。2. 向下 -> 向下 -> 向右 -> 向右。机器人每次只能向下或者向右移动一步。返回机器人能够到达右下角的不同路径数量。1. 向右 -> 向下 -> 向下。2. 向下 -> 向下 -> 向右。3. 向下 -> 向右 -> 向下。3x3 网格的正中间有一个障碍物。测试用例保证答案小于等于。
2025-06-28 10:47:21
405
原创 力扣第49题-字母异位词分组
给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。在 strs 中没有字符串可以通过重新排列来形成。是字母异位词,因为它们可以重新排列以形成彼此。是字母异位词,因为它们可以重新排列以形成彼此。
2025-06-28 10:08:11
331
原创 力扣第56题-合并区间
区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。区间 [1,4] 和 [4,5] 可被视为重叠区间。表示若干个区间的集合,其中单个区间为。请你合并所有重叠的区间,并返回。
2025-06-27 16:12:09
185
原创 力扣第53题-最大子数组和
给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。输入:nums = [-2,1,-3,4,-1,2,1,-5,4]解释:连续子数组 [4,-1,2,1] 的和最大,为 6。输入:nums = [5,4,-1,7,8]子数组是数组中的一个连续部分。输入:nums = [1]
2025-06-27 09:07:15
182
原创 力扣第45题-跳跃游戏2
从下标为 0 跳到下标为 1 的位置,跳。向后跳转的最大长度。生成的测试用例可以到达。跳到最后一个位置的最小跳跃数是。步到达数组的最后一个位置。处,你可以跳转到任意。
2025-06-26 21:29:53
331
原创 力扣第55题-跳跃游戏
无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远不可能到达最后一个下标。可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回。给你一个非负整数数组。
2025-06-26 21:06:06
147
原创 力扣第43题-字符串相乘
不能使用任何内置的 BigInteger 库或直接将输入转换为整数。的乘积,它们的乘积也表示为字符串形式。给定两个以字符串形式表示的非负整数。
2025-06-26 15:25:02
208
原创 力扣第42题-接雨水
上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。个非负整数表示每个宽度为。
2025-06-26 15:14:13
212
原创 力扣第15题-三数之和
不同的三元组是 [-1,0,1] 和 [-1,-1,2]。注意,输出的顺序和三元组的顺序并不重要。答案中不可以包含重复的三元组。唯一可能的三元组和不为 0。唯一可能的三元组和为 0。,判断是否存在三元组。
2025-06-26 14:35:16
192
原创 力扣第10题-正则表达式匹配
因为 '*' 代表可以匹配零个或多个前面的那一个元素, 在这里前面的元素就是 'a'。因此,字符串 "aa" 可被视为 'a' 重复了一次。".*" 表示可匹配零个或多个('*')任意字符('.')。"a" 无法匹配 "aa" 整个字符串。时,前面都匹配到有效的字符。的,而不是部分字符串。的小写字母,以及字符。,请你来实现一个支持。
2025-06-26 14:01:17
391
原创 力扣第9题-回文数
从左向右读, 为 -121。从右向左读, 为 121-。因此它不是一个回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。从右向左读, 为 01。因此它不是一个回文数。是一个回文整数,返回。
2025-06-26 11:57:56
219
原创 力扣第8题-字符串转换整数 (atoi)
第 2 步:"1337c0d3"(当前没有读入字符,因为这里不存在 '-' 或者 '+')第 2 步:"0-1" (当前没有读入字符,因为这里不存在 '-' 或者 '+')第 3 步:"0-1" (读入 "0";第 2 步:"42"(当前没有读入字符,因为这里不存在 '-' 或者 '+')第 2 步:" -042"(读入 '-' 字符,所以结果应该是负数)第 3 步:" -042"(读入 "042",在结果中忽略前导零)第 1 步:"0-1" (当前没有读入字符,因为没有前导空格)
2025-06-26 11:52:55
290
原创 力扣第6题-Z字形变换
输入:s = "PAYPALISHIRING", numRows = 3。输入:s = "PAYPALISHIRING", numRows = 4。输入:s = "A", numRows = 1。,以从上往下、从左到右进行 Z 字形排列。输出:"PAHNAPLSIIGYIR"输出:"PINALSIGYAHRPI"
2025-06-26 11:36:51
588
原创 力扣第1题-两数之和
因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。整数,并返回它们的数组下标。你可以按任意顺序返回答案。,请你在该数组中找出。
2025-06-26 09:42:29
243
原创 Python中的并发编程
场景1:一个网络爬虫,按顺序爬取花了一小时,采用并发下载减少到20分钟场景2:一个App应用,优化前每次打开页面需要3秒,采用异步并发提升到每次200ms引入并发就是为了提升程序运行速度CPU密集型:也叫计算密集型,是指I/O在很短时间内就可以完成,CPU需要大量的计算和处理,特点是CPU占用率相当高,例如:解压缩/加密解密/正则表达式搜索IO密集型:系统运作过程中大部分的状况是CPU在等待I/O(硬盘/内存)的读/写操作,CPU占用率很低.例如:文件处理程序,网络爬虫程序,读写数据库程序。
2025-05-22 22:02:14
965
原创 Docker架构详解
是集中存放镜像文件的场所。仓库(repository)和仓库注册服务器(Registry)是有区别的。仓库注册服务器上往往存放多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。最大的仓库是DockerHub (https://hub.docker.com),存放了数量庞大的镜像供用户下载。可以把容器看做是一个简易版的Linux环境(包括root用户权限、进程空间、网络空间等)和运行在其中的应用程序。容器与镜像的关系类似于面向对象编程中的类和对象,镜像好比是类,那么容器则是对象。
2025-05-22 21:20:05
598
原创 python装饰器详解高阶
说到装饰器,我们要知道在python中所有的都是对象object,包括我们的函数也是object,函数既然是对象,那么python中的函数的传参可以是一个函数,函数的返回值也是一个函数。装饰器就是把函数作为参数,返回值来实现的一种功能。
2025-05-21 18:16:03
444
原创 python中的引用,浅拷贝,深拷贝
浅拷贝则是外层是新的对象,但是内层id还是一样的,只是外层拷贝,内层的数据还是指向同一个人对象。从中可以看出引用,是同一个对象,外层id和内部数据id都是一样的。深拷贝则是,外层数据,内层数据都是全新生成的对象。浅拷贝:是重新生成一个对象,但是只是一层拷贝。深拷贝:生成一个新的对象,递归拷贝里面的数据。引用:是同一个对象。
2025-05-20 12:01:14
247
原创 python中的迭代器
通过__iter__()方法,迭代器返回它自己,这使得迭代器对象也可以被用在支持迭代的上下文中,如for循环中。迭代器是一个可以记住遍历的位置的对象。迭代器的核心特性是它们是惰性的,只有在你请求下一个值时,才会计算和提供值,而不是一开始就计算所有的值。状态不变性:迭代器是有状态的,这意味着一旦迭代器的状态改变,比如你用next()取出下一个元素,它的内部计数器将改变,无法返回到之前的状态。不直观的长度计算:与列表或元组不同,你不能直接获取迭代器的长度,因为迭代器是惰性的,它们的元素是按请求生成的。
2025-05-12 09:07:41
631
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅